{
    "variable": [
        {
            "id": "baseUrl",
            "key": "baseUrl",
            "type": "string",
            "name": "string",
            "value": "https:\/\/api.builtfast.com"
        }
    ],
    "info": {
        "name": "Vector Pro by BuiltFast",
        "_postman_id": "7542cf45-c0b7-493d-bc0a-23e97ac25861",
        "description": "Vector Pro by BuiltFast",
        "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json",
        "version": "1.0.0"
    },
    "item": [
        {
            "name": "Sites",
            "description": "\nManage serverless WordPress sites deployed on Vector infrastructure. Sites are\nthe primary resource representing customer applications, each with associated\nenvironments (staging\/production), deployments, and CDN configurations.\n\nSites are created with a `pending` status and transition to `active` once provisioning\ncompletes. You can suspend sites to reduce costs during low-traffic periods.\n\n#### Site Status Lifecycle\n\n- `pending` - Site creation initiated, provisioning in progress\n- `active` - Site is fully operational and serving traffic\n- `suspended` - Site is paused to reduce costs (can be unsuspended)\n- `terminating` - Site deletion in progress\n- `terminated` - Site has been fully removed",
            "item": [
                {
                    "name": "List Sites",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "search",
                                    "value": "acme",
                                    "description": "Search by `your_customer_id` or `subdomain` (partial, case-insensitive).",
                                    "disabled": false
                                },
                                {
                                    "key": "status",
                                    "value": "active",
                                    "description": "Filter by site status. Must be one of: `pending`, `activation_requested`, `active`, `suspension_requested`, `suspended`, `unsuspension_requested`, `termination_requested`, `terminated`, `canceled`.",
                                    "disabled": false
                                },
                                {
                                    "key": "sort",
                                    "value": "your_customer_id",
                                    "description": "Sort results by the given field. Must be one of: `created_at`, `updated_at`, `status`, `your_customer_id`, `last_deployed_at`. Default: `created_at`.",
                                    "disabled": false
                                },
                                {
                                    "key": "direction",
                                    "value": "asc",
                                    "description": "Sort direction. Must be `asc` or `desc`. Default: `desc`.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites?per_page=25&search=acme&status=active&sort=your_customer_id&direction=asc&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of all sites for the authenticated account.\nResults include each site's environments and their associated domains.\n\nUse `search` to filter by customer ID or subdomain, `status` to filter by\nsite lifecycle state, and `sort`\/`direction` to control ordering. The\n`last_deployed_at` field is computed from the most recent completed\ndeployment across all environments and can also be used as a sort field."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"your_customer_id\": \"cust_12345\",\n            \"status\": \"active\",\n            \"status_label\": \"Active\",\n            \"dev_php_version\": \"8.3\",\n            \"tags\": [\"wordpress\", \"production\"],\n            \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n            \"dev_db_host\": \"dev-cluster.abc123.us-east-1.rds.amazonaws.com\",\n            \"dev_db_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n            \"dev_sftp\": {\n                \"hostname\": \"ssh.vectorpages.com\",\n                \"port\": 22,\n                \"username\": \"wispy-dust\"\n            },\n            \"last_deployed_at\": \"2025-06-10T14:30:00+00:00\",\n            \"environments\": [\n                {\n                    \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n                    \"name\": \"production\",\n                    \"is_production\": true,\n                    \"status\": \"active\",\n                    \"status_label\": \"Active\",\n                    \"php_version\": \"8.3\",\n                    \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n                    \"custom_domain\": \"example.com\",\n                    \"custom_domain_certificate_status\": \"issued\",\n                    \"dns_status_state\": \"verified\",\n                    \"requires_dns_action\": false,\n                    \"created_at\": \"2025-01-15T12:00:00+00:00\",\n                    \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n                }\n            ],\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Sites retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"status\": [\"The status must be a valid site status.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Get Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The site ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves details of a specific site including its environments and domains."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"tags\": [\"wordpress\", \"production\"],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_db_host\": \"dev-cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"dev_db_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"environments\": [\n            {\n                \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n                \"name\": \"production\",\n                \"is_production\": true,\n                \"status\": \"active\",\n                \"status_label\": \"Active\",\n                \"php_version\": \"8.3\",\n                \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n                \"custom_domain\": \"example.com\",\n                \"custom_domain_certificate_status\": \"issued\",\n                \"dns_status_state\": \"verified\",\n                \"requires_dns_action\": false,\n                \"created_at\": \"2025-01-15T12:00:00+00:00\",\n                \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n            }\n        ],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Site retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "Deployments\n\nList deployments across all environments of a site.",
                    "description": "",
                    "item": [
                        {
                            "name": "List Site Deployments",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/deployments",
                                    "query": [
                                        {
                                            "key": "environment",
                                            "value": "production",
                                            "description": "Filter deployments to a specific environment by name.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "per_page",
                                            "value": "25",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination. Default: 1.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/deployments?environment=production&per_page=25&page=1",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID or subdomain."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a paginated list of deployments across all non-terminated\nenvironments belonging to the given site, ordered by most recent first.\n\nOptionally filter by environment name to narrow results to a single\nenvironment (e.g. `production` or `staging`).\n\nDeployments attached to terminated environments are always excluded,\neven when an explicit `environment` filter matches one."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n            \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"is_auto_deploy\": false,\n            \"status\": \"deployed\",\n            \"status_label\": \"Deployed\",\n            \"stdout\": \"Deployment output...\",\n            \"stderr\": null,\n            \"actor\": \"user@example.com\",\n            \"environment\": {\n                \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n                \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n                \"your_customer_id\": \"cust_12345\",\n                \"name\": \"production\",\n                \"is_production\": true,\n                \"status\": \"active\",\n                \"status_label\": \"Active\",\n                \"php_version\": \"8.3\",\n                \"tags\": [\"wordpress\"],\n                \"fqdn\": \"example.com\",\n                \"custom_domain\": \"example.com\",\n                \"subdomain\": \"wispy-dust\",\n                \"created_at\": \"2025-01-15T12:00:00+00:00\",\n                \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n            },\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Deployments retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"per_page\": [\"Maximum items per page is 100.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Update Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The site ID."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"your_customer_id\":\"cust_67890\",\"tags\":[\"wordpress\",\"staging\"]}"
                        },
                        "description": "Updates an existing site's metadata. Only the fields provided will be updated."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_67890\",\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"tags\": [\"wordpress\", \"staging\"],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_db_host\": \"dev-cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"dev_db_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Vector site updated successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"tags\": [\"Tags must be an array of strings.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Suspend Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site\/suspend",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/suspend",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The site ID."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Suspends a site's development container by scaling the ECS service to zero.\nThis reduces costs during low-traffic periods while preserving container\nresources for quick resumption.\n\nThe site must be in `active` status to be suspended. Suspended sites can be\nresumed using the unsuspend endpoint."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"status\": \"suspended\",\n        \"status_label\": \"Suspended\",\n        \"tags\": [],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Vector site suspension initiated\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"status\": [\"Site cannot be suspended from current state 'pending'. Site must be 'active' to be suspended.\"]},\n    \"message\": \"Site cannot be suspended from current state 'pending'. Site must be 'active' to be suspended.\",\n    \"http_status\": 422\n}",
                            "name": "Invalid State"
                        }
                    ]
                },
                {
                    "name": "Unsuspend Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site\/unsuspend",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/unsuspend",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The site ID."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Resumes a previously suspended site's development container by scaling the\nECS service back to one. The site must be in `suspended` status to be unsuspended.\n\nAfter unsuspension, the site transitions back to `active` status and resumes\nserving traffic."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"tags\": [],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Vector site unsuspension initiated\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"status\": [\"Site cannot be unsuspended from current state 'active'. Site must be 'suspended' to be unsuspended.\"]},\n    \"message\": \"Site cannot be unsuspended from current state 'active'. Site must be 'suspended' to be unsuspended.\",\n    \"http_status\": 422\n}",
                            "name": "Invalid State"
                        }
                    ]
                },
                {
                    "name": "Create Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"your_customer_id\":\"cust_12345\",\"dev_php_version\":\"8.3\",\"tags\":[\"wordpress\",\"production\"],\"production_domain\":\"example.com\",\"staging_domain\":\"staging.example.com\",\"wp_admin_email\":\"admin@example.com\",\"wp_admin_user\":\"myadmin\",\"wp_site_title\":\"My Blog\"}"
                        },
                        "description": "Creates a new site for the authenticated account. The site is created with a\n`pending` status and will transition to `active` once provisioning completes.\n\nA development container is automatically provisioned for the site, accessible\nvia the `dev_domain` in the response."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"dev_php_version\": \"8.3\",\n        \"tags\": [\"wordpress\", \"production\"],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_db_host\": \"dev-cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"dev_db_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"dev_sftp\": {\n            \"hostname\": \"ssh.vectorpages.com\",\n            \"port\": 22,\n            \"username\": \"wispy-dust\",\n            \"password\": \"aBcD1234!@#$EfGh5678\"\n        },\n        \"dev_db_username\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"dev_db_password\": \"aBcD1234!@#$EfGh5678\",\n        \"wp_admin\": {\n            \"user\": \"myadmin\",\n            \"email\": \"admin@example.com\",\n            \"password\": \"xYz9876!@#$AbCd5432\",\n            \"site_title\": \"My Blog\"\n        },\n        \"environments\": [\n            {\n                \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n                \"name\": \"production\",\n                \"is_production\": true,\n                \"status\": \"pending\",\n                \"status_label\": \"Pending\",\n                \"php_version\": \"8.3\",\n                \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n                \"custom_domain\": \"example.com\",\n                \"custom_domain_certificate_status\": \"pending\",\n                \"dns_status_state\": \"pending\",\n                \"requires_dns_action\": true,\n                \"created_at\": \"2025-01-15T12:00:00+00:00\",\n                \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n            },\n            {\n                \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n                \"name\": \"staging\",\n                \"is_production\": false,\n                \"status\": \"pending\",\n                \"status_label\": \"Pending\",\n                \"php_version\": \"8.3\",\n                \"platform_domain\": \"wispy-dust--staging.vectorpages.com\",\n                \"custom_domain\": null,\n                \"custom_domain_certificate_status\": null,\n                \"dns_status_state\": \"not_required\",\n                \"requires_dns_action\": false,\n                \"created_at\": \"2025-01-15T12:00:00+00:00\",\n                \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n            }\n        ],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Vector site creation initiated\",\n    \"http_status\": 201\n}",
                            "name": "Created"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"your_customer_id\": [\"The partner customer id field is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"cluster\": [\"No Vector cluster is configured for your account.\"]},\n    \"message\": \"No Vector cluster available for this account\",\n    \"http_status\": 422\n}",
                            "name": "No Cluster Available"
                        }
                    ]
                },
                {
                    "name": "Delete Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The site ID."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"delete_environments\":true}"
                        },
                        "description": "Initiates deletion of a site. This terminates the site's development container\nand CDN resources. The site status transitions to `terminating` and eventually\n`terminated`.\n\n**Important:** By default, all environments must be terminated before the site\ncan be deleted \u2014 use the environment delete endpoint to terminate each\nenvironment first, or pass `delete_environments: true` to have any remaining\ndeployed environments terminated inline as part of the site deletion job.\n\nThis operation is irreversible. All site data and configurations will be\npermanently removed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"status\": \"termination_requested\",\n        \"status_label\": \"Termination Requested\",\n        \"tags\": [],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_db_host\": \"dev-cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"dev_db_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Vector site deletion initiated\",\n    \"http_status\": 202\n}",
                            "name": "Accepted"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"site\": [\"Cannot delete site with deployed environments. Please terminate all deployed environments first, or pass delete_environments=true to terminate them as part of the site deletion.\"]},\n    \"message\": \"Cannot delete site with deployed environments. Please terminate all deployed environments first, or pass delete_environments=true to terminate them as part of the site deletion.\",\n    \"http_status\": 422\n}",
                            "name": "Active Environments"
                        }
                    ]
                },
                {
                    "name": "Clone Site",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site\/clone",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/clone",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The source site ID to clone from."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"your_customer_id\":\"cust_12345\",\"dev_php_version\":\"8.3\",\"tags\":[\"wordpress\",\"clone\"]}"
                        },
                        "description": "Creates a new site by cloning an existing site's development container,\nincluding files and database. Only the development container is cloned;\nproduction and staging environments are not copied. The new site is created\nwith fresh, empty environments.\n\nThis workflow is useful for testing larger redesigns or refactors in\nisolation while still allowing maintenance of the original site. The cloned\nsite operates independently, so changes to one do not affect the other.\n\nThe new site inherits attributes from the source site unless overridden in\nthe request. The cloned site is created with a `pending` status and will\ntransition to `active` once the clone operation completes."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"your_customer_id\": \"cust_12345\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"tags\": [\"wordpress\", \"clone\"],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_db_username\": \"db_01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"dev_db_password\": \"aBcD1234!@#$EfGh5678\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Vector site clone initiated\",\n    \"http_status\": 201\n}",
                            "name": "Created"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"site\": [\"Source site must be in active state to clone.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error - Site Not Active"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"site\": [\"Source site must have a dev container to clone.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error - No Dev Container"
                        }
                    ]
                },
                {
                    "name": "SFTP",
                    "description": "Manage SFTP access to your site's development container. SFTP provides secure\nfile transfer for uploading themes, plugins, and other files directly to your dev environment.",
                    "item": [
                        {
                            "name": "Reset Password",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/sftp\/reset-password",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/sftp\/reset-password",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Generates a new SFTP password for the site's development container.\nThe old password is immediately invalidated.\n\n> [!WARNING]\n> The new password is returned ONLY in this response. Store it securely\u2014it cannot be retrieved again.\n\nSFTP connection details:\n- hostname: ssh.{partner-domain} (e.g., ssh.vectorpages.com)\n- port: 22\n- username: site subdomain (e.g., my-site)\n- password: the generated password"
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": null,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"dev_php_version\": \"8.3\",\n        \"tags\": [],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_sftp\": {\n            \"hostname\": \"ssh.vectorpages.com\",\n            \"port\": 22,\n            \"username\": \"wispy-dust\",\n            \"password\": \"aBcD1234!@#$EfGh5678\"\n        },\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SFTP password reset successfully. Store the new password securely - it will not be shown again.\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Databases",
                    "description": "Manage database credentials for the site's development container. Each site has\na dedicated MySQL database for local development with credentials that can be reset for security.",
                    "item": [
                        {
                            "name": "Reset Password",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/db\/reset-password",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/db\/reset-password",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Generates a new database password for the site's development container.\nThe old password is immediately invalidated.\n\n> [!WARNING]\n> The new password is returned ONLY in this response. Store it securely\u2014it cannot be retrieved again."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": null,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"dev_php_version\": \"8.3\",\n        \"tags\": [],\n        \"dev_domain\": \"dev.wispy-dust.vectorpages.com\",\n        \"dev_db_username\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"dev_db_password\": \"aBcD1234!@#$EfGh5678\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Database password reset successfully. Store the new password securely - it will not be shown again.\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Export",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/db\/export",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/db\/export",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"format\":\"sql\"}"
                                },
                                "description": "Start a database export operation. Dispatches an async job to create\nthe export and upload it to S3. Poll the status endpoint to check progress\nand retrieve the download URL when complete."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 202,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"format\": \"sql\",\n        \"size_bytes\": null,\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"download_expires_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": null,\n        \"completed_at\": null\n    },\n    \"message\": \"Database export started\",\n    \"http_status\": 202\n}",
                                    "name": "Accepted"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"format\": [\"The selected format is invalid.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Get Export Status",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/db\/exports\/:export",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/db\/exports\/:export",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "export",
                                            "key": "export",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The export ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Get the current status of a database export operation. If complete and not\nexpired, includes a presigned download URL valid for 1 hour."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"format\": \"sql\",\n        \"size_bytes\": 52428800,\n        \"duration_ms\": 30000,\n        \"error_message\": null,\n        \"download_url\": \"https:\/\/s3.amazonaws.com\/bucket\/exports\/01jfgxk4nqrst5vwx9yz0abcdg.sql?X-Amz-Expires=3600\",\n        \"download_expires_at\": \"2025-01-15T13:00:00+00:00\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": \"2025-01-15T12:00:01+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:31+00:00\"\n    },\n    \"message\": \"Export retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Completed"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"processing\",\n        \"status_label\": \"Processing\",\n        \"format\": \"sql\",\n        \"size_bytes\": null,\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"download_expires_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": \"2025-01-15T12:00:01+00:00\",\n        \"completed_at\": null\n    },\n    \"message\": \"Export retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Processing"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Export not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WordPress",
                    "description": "Manage WordPress configuration for your site's development container.",
                    "item": [
                        {
                            "name": "Regenerate wp-config.php",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/wp\/reconfig",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/wp\/reconfig",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Regenerates the wp-config.php file for the site's development container\nwith current database credentials, WP_HOME\/WP_SITEURL, and HMAC secret."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": null,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"dev_php_version\": \"8.3\",\n        \"tags\": [],\n        \"dev_domain\": \"wispy-dust.vectorpages.com\",\n        \"environments\": [],\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"WordPress configuration regenerated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"status\": [\"Site must be active to regenerate wp-config. Current state: 'pending'.\"]}, \"message\": \"Site must be active to regenerate wp-config. Current state: 'pending'.\", \"http_status\": 422}",
                                    "name": "Not Active"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Imports",
                    "description": "",
                    "item": [
                        {
                            "name": "Create Import Session",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/imports",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/imports",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"scope\":\"database\",\"filename\":\"backup.sql.gz\",\"content_length\":104857600,\"content_md5\":\"d41d8cd98f00b204e9800998ecf8427e\",\"options\":{\"drop_tables\":true,\"disable_foreign_keys\":true,\"search_replace\":{\"from\":\"example.org\",\"to\":\"example.com\"}}}"
                                },
                                "description": "Create an archive import session. Returns presigned S3 upload URL(s)\nthat can be used to upload the archive file directly to storage.\n\nThe maximum file size is 50GB by default. Higher limits can be configured\nper-cluster on request.\n\nFor files larger than the multipart threshold (~100MB), returns multiple\npresigned URLs (one per part) along with an `upload_id`. Parts are 100MB each,\nso a 1GB file requires 10 parts. For smaller files, returns a single presigned\nupload URL.\n\nAfter uploading, call the \"Run Import\" endpoint to execute the import."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"scope\": null,\n        \"filename\": \"backup.sql.gz\",\n        \"content_length\": 52428800,\n        \"is_multipart\": false,\n        \"part_count\": null,\n        \"checksum\": {\n            \"provided_md5\": \"d41d8cd98f00b204e9800998ecf8427e\",\n            \"s3_etag\": null\n        },\n        \"metadata\": null,\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"uploaded_at\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"upload_url\": \"https:\/\/s3.amazonaws.com\/bucket\/imports\/...\",\n        \"upload_expires_at\": \"2025-01-16T12:00:00+00:00\"\n    },\n    \"message\": \"Import session created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created (single upload)"
                                },
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"scope\": null,\n        \"filename\": \"backup.tar.gz\",\n        \"content_length\": 161061273600,\n        \"is_multipart\": true,\n        \"part_count\": 30,\n        \"checksum\": {\n            \"provided_md5\": null,\n            \"s3_etag\": null\n        },\n        \"metadata\": null,\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"uploaded_at\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"upload_id\": \"abc123\",\n        \"upload_parts\": [{\"part_number\": 1, \"url\": \"https:\/\/s3.amazonaws.com\/...\"}],\n        \"upload_expires_at\": \"2025-01-16T12:00:00+00:00\"\n    },\n    \"message\": \"Import session created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created (multipart upload)"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"site\": [\"Site must be in active state to import.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Run Import",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/imports\/:import\/run",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/imports\/:import\/run",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "import",
                                            "key": "import",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                            "description": "The import ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"parts\":[\"architecto\"]}"
                                },
                                "description": "Execute an archive import from S3 after the file has been uploaded via the\npresigned URL(s). Dispatches an async job to perform the import.\n\nFor multipart uploads, provide the `parts` array containing the\n`part_number` and `etag` for each uploaded part. Each part can be up to\n5GB. The server will finalize the multipart upload before starting the\nimport job.\n\nThe import must be in `pending` or `uploaded` status and not expired."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 202,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"uploaded\",\n        \"status_label\": \"Uploaded\",\n        \"scope\": null,\n        \"filename\": \"backup.sql.gz\",\n        \"content_length\": 52428800,\n        \"is_multipart\": false,\n        \"part_count\": null,\n        \"checksum\": {\n            \"provided_md5\": \"d41d8cd98f00b204e9800998ecf8427e\",\n            \"s3_etag\": null\n        },\n        \"metadata\": null,\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"uploaded_at\": \"2025-01-15T12:00:01+00:00\",\n        \"started_at\": null,\n        \"completed_at\": null\n    },\n    \"message\": \"Archive import started\",\n    \"http_status\": 202\n}",
                                    "name": "Accepted"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Import not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"status\": [\"Import must be in pending or uploaded status\"]}, \"message\": \"Import is not ready to run\", \"http_status\": 422}",
                                    "name": "Not Ready"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"expires_at\": [\"Please create a new import session\"]}, \"message\": \"Import session has expired\", \"http_status\": 422}",
                                    "name": "Expired"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"parts\": [\"Failed to complete multipart upload\"]}, \"message\": \"Failed to finalize upload\", \"http_status\": 422}",
                                    "name": "Multipart Failed"
                                }
                            ]
                        },
                        {
                            "name": "Get Import Status",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/imports\/:import",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/imports\/:import",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "import",
                                            "key": "import",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                            "description": "The import ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Get the current status of an archive import operation. If the import is still\npending and not expired, includes fresh presigned upload URL(s)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"scope\": null,\n        \"filename\": \"backup.sql.gz\",\n        \"content_length\": 52428800,\n        \"is_multipart\": false,\n        \"part_count\": null,\n        \"checksum\": {\n            \"provided_md5\": \"d41d8cd98f00b204e9800998ecf8427e\",\n            \"s3_etag\": null\n        },\n        \"metadata\": null,\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"uploaded_at\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"upload_url\": \"https:\/\/s3.amazonaws.com\/bucket\/imports\/...\",\n        \"upload_expires_at\": \"2025-01-16T12:00:00+00:00\"\n    },\n    \"message\": \"Import retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Pending"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"scope\": \"full\",\n        \"scope_label\": \"Full\",\n        \"filename\": \"backup.sql.gz\",\n        \"content_length\": 52428800,\n        \"is_multipart\": false,\n        \"part_count\": null,\n        \"checksum\": {\n            \"provided_md5\": \"d41d8cd98f00b204e9800998ecf8427e\",\n            \"s3_etag\": \"d41d8cd98f00b204e9800998ecf8427e\"\n        },\n        \"metadata\": null,\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": 30000,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"uploaded_at\": \"2025-01-15T12:00:01+00:00\",\n        \"started_at\": \"2025-01-15T12:00:02+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:32+00:00\"\n    },\n    \"message\": \"Import retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Completed"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Import not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Logs",
                    "description": "Fetch logs for a Vector site. Supports filtering by time range,\nenvironment, deployment, and log level. Rate limited to 60 queries per hour per account.",
                    "item": [
                        {
                            "name": "Get Logs",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/logs",
                                    "query": [
                                        {
                                            "key": "start_time",
                                            "value": "now-24h",
                                            "description": "Start time for log query. RFC3339 format or relative (e.g., \"now-1h\"). Default: now-1h.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "end_time",
                                            "value": "now",
                                            "description": "End time for log query. RFC3339 format or relative. Default: now.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "limit",
                                            "value": "500",
                                            "description": "Maximum number of log entries to return (1-1000). Default: 100.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "environment",
                                            "value": "prod",
                                            "description": "The environment name (e.g., prod, staging, dev). Must be an environment that belongs to the site.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "deployment_id",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                            "description": "Filter by deployment ID.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "cursor",
                                            "value": "abc123xyz",
                                            "description": "Pagination cursor from previous response.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "level",
                                            "value": "error",
                                            "description": "Filter by log level (e.g., error, warning, info).",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/logs?start_time=now-24h&end_time=now&limit=500&environment=prod&deployment_id=01jfgxk4nqrst5vwx9yz0abcdh&cursor=abc123xyz&level=error",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves logs for the specified Vector site. Logs are returned in reverse\nchronological order (newest first).\n\nUse the `environment`, `deployment_id`, and `level` filters to narrow down results.\nUse cursor-based pagination for large result sets.\n\nRate limited to 60 queries per hour per account. Query time window is limited to 24 hours."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"logs\": {\n            \"tables\": [\n                {\n                    \"name\": \"0\",\n                    \"columns\": [\n                        {\"name\": \"_time\", \"type\": \"datetime\"},\n                        {\"name\": \"message\", \"type\": \"string\"},\n                        {\"name\": \"level\", \"type\": \"string\"}\n                    ],\n                    \"rows\": [\n                        [\"2025-01-15T12:00:00+00:00\", \"Request completed\", \"info\"]\n                    ]\n                }\n            ],\n            \"status\": {\n                \"rowsExamined\": 1000,\n                \"rowsMatched\": 50\n            }\n        },\n        \"cursor\": \"abc123xyz\",\n        \"has_more\": true\n    },\n    \"message\": \"Logs retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"time_window\": [\"The query time window cannot exceed 24 hours.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Time Window Exceeded"
                                },
                                {
                                    "header": [],
                                    "code": 429,
                                    "body": "{\"data\": {}, \"message\": \"Too many log queries. Rate limit: 60 per hour.\", \"http_status\": 429}",
                                    "name": "Rate Limit Exceeded"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Referrers",
                    "description": "Control which sites can link to your content using referrer-based rules.\n\n- **Blocked Referrers**: Block hotlinking from specific domains\n- **Allowed Referrers**: Restrict access to requests from approved domains only\n\nSupports wildcards: `*.example.com` matches all subdomains.",
                    "item": [
                        {
                            "name": "List Allowed Referrers",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/allowed-referrers",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/allowed-referrers",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all allowed referrer hostnames for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\"hostname\": \"example.com\"},\n        {\"hostname\": \"*.example.net\"}\n    ],\n    \"message\": \"Allowed referrers retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "List Blocked Referrers",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/blocked-referrers",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/blocked-referrers",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all blocked referrer hostnames for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\"hostname\": \"spam.example.com\"},\n        {\"hostname\": \"*.example.net\"}\n    ],\n    \"message\": \"Blocked referrers retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Add Allowed Referrer",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/allowed-referrers",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/allowed-referrers",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"hostname\":\"example.com\"}"
                                },
                                "description": "Adds a hostname to the allowed referrers list.\nWildcards are supported (e.g., *.example.com)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\"hostname\": \"example.com\"},\n    \"message\": \"Allowed referrer added successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"hostname\": [\"The hostname field is required.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Remove Allowed Referrer",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/allowed-referrers\/:hostname",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/allowed-referrers\/:hostname",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "hostname",
                                            "key": "hostname",
                                            "value": "example.com",
                                            "description": "The hostname to remove."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Removes a hostname from the allowed referrers list."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\"hostname\": \"example.com\"},\n    \"message\": \"Allowed referrer removed successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Allowed referrer not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Add Blocked Referrer",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/blocked-referrers",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/blocked-referrers",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"hostname\":\"spam.example.com\"}"
                                },
                                "description": "Adds a hostname to the blocked referrers list.\nWildcards are supported (e.g., *.example.com)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\"hostname\": \"spam.example.com\"},\n    \"message\": \"Blocked referrer added successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"hostname\": [\"The hostname field is required.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Remove Blocked Referrer",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/blocked-referrers\/:hostname",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/blocked-referrers\/:hostname",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "hostname",
                                            "key": "hostname",
                                            "value": "spam.example.com",
                                            "description": "The hostname to remove."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Removes a hostname from the blocked referrers list."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\"hostname\": \"spam.example.com\"},\n    \"message\": \"Blocked referrer removed successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Blocked referrer not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Blocked IPs",
                    "description": "Block specific IP addresses or CIDR ranges from accessing your site.\nBlocked IPs receive a `403 Forbidden` response.\n\n- Single IPs: `192.0.2.1`\n- CIDR ranges: `198.51.100.0\/24`",
                    "item": [
                        {
                            "name": "List Blocked IPs",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/blocked-ips",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/blocked-ips",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all blocked IP addresses for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\"ip\": \"192.0.2.1\"},\n        {\"ip\": \"198.51.100.0\/24\"}\n    ],\n    \"message\": \"Blocked IPs retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Add Blocked IP",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/blocked-ips",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/blocked-ips",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"ip\":\"192.0.2.1\"}"
                                },
                                "description": "Adds an IP address to the blocked list.\nSupports both IPv4 and IPv6 addresses."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\"ip\": \"192.0.2.1\"},\n    \"message\": \"Blocked IP added successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"ip\": [\"The ip field is required.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Remove Blocked IP",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/blocked-ips\/:ip",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/blocked-ips\/:ip",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "ip",
                                            "key": "ip",
                                            "value": "192.0.2.1",
                                            "description": "The IP address to remove."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Removes an IP address from the blocked list."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\"ip\": \"192.0.2.1\"},\n    \"message\": \"Blocked IP removed successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Blocked IP not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Rate Limits",
                    "description": "Protect against DDoS, brute force, and API abuse by limiting request frequency.\n\nEach rule defines:\n- **Threshold**: Requests allowed within a time window\n- **Block Duration**: How long to block offending clients (30s to 1 hour)\n- **Matching Criteria**: Target specific paths, methods, or request patterns\n\nMaximum **25 rate limit rules** per site.",
                    "item": [
                        {
                            "name": "List Rate Limits",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/rate-limits",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/rate-limits",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all rate limit rules configured for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": 12345,\n            \"name\": \"API Rate Limit\",\n            \"description\": \"Limit API requests to 100\/second\",\n            \"shield_zone_id\": 67890,\n            \"configuration\": {\n                \"request_count\": 100,\n                \"timeframe\": 1,\n                \"block_time\": 60,\n                \"value\": \"\/api\/*\",\n                \"action\": \"rate-limit\",\n                \"operator\": \"begins-with\",\n                \"variables\": [\"request-uri\"],\n                \"transformations\": [\"lowercase\"]\n            }\n        }\n    ],\n    \"message\": \"Rate limits retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Get Rate Limit",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/rate-limits\/:rule",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/rate-limits\/:rule",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "rule",
                                            "key": "rule",
                                            "value": "12345",
                                            "description": "The rate limit rule ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a specific rate limit rule by ID."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": 12345,\n        \"name\": \"API Rate Limit\",\n        \"description\": \"Limit API requests to 100\/second\",\n        \"shield_zone_id\": 67890,\n        \"configuration\": {\n            \"request_count\": 100,\n            \"timeframe\": 1,\n            \"block_time\": 60,\n            \"value\": \"\/api\/*\",\n            \"action\": \"rate-limit\",\n            \"operator\": \"begins-with\",\n            \"variables\": [\"request-uri\"],\n            \"transformations\": [\"lowercase\"]\n        }\n    },\n    \"message\": \"Rate limit retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Rate limit not found\",\n    \"http_status\": 404\n}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Rate Limit",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/rate-limits",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/rate-limits",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"API Rate Limit\",\"description\":\"Limit API requests to prevent abuse\",\"request_count\":100,\"timeframe\":1,\"block_time\":60,\"value\":\"\\\/api\\\/*\",\"operator\":\"begins-with\",\"transformations\":[\"lowercase\",\"url-decode\"],\"variables\":[\"request-uri\"]}"
                                },
                                "description": "Creates a new rate limit rule for a site. Maximum 25 rate limit rules per zone."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": 12345,\n        \"name\": \"API Rate Limit\",\n        \"description\": \"Limit API requests to prevent abuse\",\n        \"shield_zone_id\": 67890,\n        \"configuration\": {\n            \"request_count\": 100,\n            \"timeframe\": 1,\n            \"block_time\": 60,\n            \"value\": \"\/api\/*\",\n            \"action\": \"rate-limit\",\n            \"operator\": \"begins-with\",\n            \"variables\": [\"request-uri\"],\n            \"transformations\": [\"lowercase\", \"url-decode\"]\n        }\n    },\n    \"message\": \"Rate limit created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"timeframe\": [\"The timeframe field must be a valid enum value.\"],\n        \"block_time\": [\"The block duration field must be a valid enum value.\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Rate limit rule limit reached (25 rules per zone)\",\n    \"http_status\": 422\n}",
                                    "name": "Limit Reached"
                                }
                            ]
                        },
                        {
                            "name": "Update Rate Limit",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/rate-limits\/:rule",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/rate-limits\/:rule",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "rule",
                                            "key": "rule",
                                            "value": "12345",
                                            "description": "The rate limit rule ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"Updated Rate Limit\",\"description\":\"Updated description for the rule\",\"request_count\":200,\"timeframe\":10,\"block_time\":300,\"value\":\"\\\/api\\\/v2\\\/*\",\"operator\":\"regex\",\"transformations\":[\"lowercase\"],\"variables\":[\"request-uri\",\"query-string\"]}"
                                },
                                "description": "Updates an existing rate limit rule. All fields are optional - only include fields you want\nto change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": 12345,\n        \"name\": \"Updated Rate Limit\",\n        \"description\": \"Updated description for the rule\",\n        \"shield_zone_id\": 67890,\n        \"configuration\": {\n            \"request_count\": 200,\n            \"timeframe\": 10,\n            \"block_time\": 300,\n            \"value\": \"\/api\/v2\/*\",\n            \"action\": \"rate-limit\",\n            \"operator\": \"regex\",\n            \"variables\": [\"request-uri\", \"query-string\"],\n            \"transformations\": [\"lowercase\"]\n        }\n    },\n    \"message\": \"Rate limit updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Rate limit not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"operator\": [\"The match operator field must be a valid enum value.\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Delete Rate Limit",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/rate-limits\/:rule",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/rate-limits\/:rule",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "rule",
                                            "key": "rule",
                                            "value": "12345",
                                            "description": "The rate limit rule ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Permanently deletes a rate limit rule. This action cannot be undone."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Rate limit deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Rate limit not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "CDN: Caching",
                    "description": "Manage CDN caching configuration including smart cache, vary headers, origin shield, request coalescing, and stale content settings.",
                    "item": [
                        {
                            "name": "Get Caching Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/caching",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/caching",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the current CDN caching configuration for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"enable_smart_cache\": true,\n        \"cache_control_max_age_override\": 2592000,\n        \"cache_control_public_max_age_override\": 0,\n        \"disable_cookies\": true,\n        \"cache_error_responses\": false,\n        \"enable_query_string_ordering\": true,\n        \"ignore_query_strings\": false,\n        \"query_string_vary_parameters\": [],\n        \"enable_hostname_vary\": false,\n        \"enable_mobile_vary\": false,\n        \"enable_webp_vary\": true,\n        \"enable_avif_vary\": true,\n        \"enable_country_code_vary\": false,\n        \"enable_cookie_vary\": false,\n        \"cookie_vary_parameters\": [],\n        \"enable_origin_shield\": false,\n        \"origin_shield_zone_code\": \"\",\n        \"origin_shield_enable_concurrency_limit\": false,\n        \"origin_shield_max_concurrent_requests\": 5000,\n        \"origin_shield_queue_max_wait_time\": 30,\n        \"origin_shield_max_queued_requests\": 1000,\n        \"enable_request_coalescing\": false,\n        \"request_coalescing_timeout\": 30,\n        \"use_stale_while_updating\": true,\n        \"use_stale_while_offline\": true,\n        \"use_background_update\": true,\n        \"enable_cache_slice\": false\n    },\n    \"message\": \"Caching settings retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Update Caching Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/caching",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/caching",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"enable_smart_cache\":true,\"cache_control_max_age_override\":2592000,\"cache_control_public_max_age_override\":0,\"disable_cookies\":true,\"cache_error_responses\":false,\"enable_query_string_ordering\":true,\"ignore_query_strings\":false,\"query_string_vary_parameters\":[\"utm_source\",\"ref\"],\"enable_hostname_vary\":false,\"enable_mobile_vary\":false,\"enable_webp_vary\":true,\"enable_avif_vary\":true,\"enable_country_code_vary\":false,\"enable_cookie_vary\":false,\"cookie_vary_parameters\":[\"wordpress_logged_in\"],\"enable_origin_shield\":false,\"origin_shield_zone_code\":\"FR\",\"origin_shield_enable_concurrency_limit\":false,\"origin_shield_max_concurrent_requests\":5000,\"origin_shield_queue_max_wait_time\":30,\"origin_shield_max_queued_requests\":1000,\"enable_request_coalescing\":false,\"request_coalescing_timeout\":30,\"use_stale_while_updating\":true,\"use_stale_while_offline\":true,\"use_background_update\":true,\"enable_cache_slice\":false}"
                                },
                                "description": "Updates CDN caching configuration for a site. All fields are optional \u2014 only include\nfields you want to change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"enable_smart_cache\": true,\n        \"cache_control_max_age_override\": 2592000,\n        \"disable_cookies\": true\n    },\n    \"message\": \"Caching settings updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"origin_shield_max_concurrent_requests\": [\"The max concurrent requests must not exceed 10,000.\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "CDN: Optimizer",
                    "description": "Manage CDN optimizer configuration including image optimization, asset minification, and quality settings.",
                    "item": [
                        {
                            "name": "Get Optimizer Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/optimizer",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/optimizer",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the current CDN optimizer configuration for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"optimizer_enabled\": true,\n        \"optimizer_enable_webp\": true,\n        \"optimizer_automatic_optimization_enabled\": true,\n        \"optimizer_enable_manipulation_engine\": false,\n        \"optimizer_watermark_enabled\": false,\n        \"optimizer_minify_css\": true,\n        \"optimizer_minify_javascript\": true,\n        \"optimizer_image_quality\": 85,\n        \"optimizer_mobile_image_quality\": 70,\n        \"optimizer_desktop_max_width\": 1600,\n        \"optimizer_mobile_max_width\": 800\n    },\n    \"message\": \"Optimizer settings retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Update Optimizer Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/optimizer",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/optimizer",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"optimizer_enabled\":true,\"optimizer_enable_webp\":true,\"optimizer_automatic_optimization_enabled\":true,\"optimizer_enable_manipulation_engine\":false,\"optimizer_watermark_enabled\":false,\"optimizer_minify_css\":true,\"optimizer_minify_javascript\":true,\"optimizer_image_quality\":85,\"optimizer_mobile_image_quality\":70,\"optimizer_desktop_max_width\":1600,\"optimizer_mobile_max_width\":800}"
                                },
                                "description": "Updates CDN optimizer configuration for a site. All fields are optional \u2014 only include\nfields you want to change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"optimizer_enabled\": true,\n        \"optimizer_minify_css\": true,\n        \"optimizer_image_quality\": 85\n    },\n    \"message\": \"Optimizer settings updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"optimizer_image_quality\": [\"The image quality must not exceed 100.\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "CDN: Edge Rules",
                    "description": "Manage CDN edge rules for request\/response manipulation, redirects, caching overrides, and security controls.\n\nEach edge rule defines:\n- **Action**: What to do when triggered (redirect, set header, block, override cache, etc.)\n- **Triggers**: Conditions to match against (URL, headers, country, IP, cookies, etc.)\n- **Extra Actions**: Additional actions to perform alongside the primary action",
                    "item": [
                        {
                            "name": "List Edge Rules",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/edge-rules",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/edge-rules",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all edge rules configured for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"guid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n            \"description\": \"Force SSL\",\n            \"enabled\": true,\n            \"action_type\": \"force-ssl\",\n            \"action_parameter_1\": null,\n            \"action_parameter_2\": null,\n            \"trigger_matching_type\": \"match-any\",\n            \"triggers\": [\n                {\n                    \"type\": \"url\",\n                    \"pattern_matching_type\": \"match-any\",\n                    \"pattern_matches\": [\"*\"],\n                    \"parameter_1\": null\n                }\n            ],\n            \"extra_actions\": []\n        }\n    ],\n    \"message\": \"Edge rules retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Get Edge Rule",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/edge-rules\/:rule",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/edge-rules\/:rule",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "rule",
                                            "key": "rule",
                                            "value": "architecto",
                                            "description": ""
                                        },
                                        {
                                            "id": "ruleId",
                                            "key": "ruleId",
                                            "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                                            "description": "The edge rule GUID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a specific edge rule by GUID."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"guid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"description\": \"Force SSL\",\n        \"enabled\": true,\n        \"action_type\": \"force-ssl\",\n        \"action_parameter_1\": null,\n        \"action_parameter_2\": null,\n        \"trigger_matching_type\": \"match-any\",\n        \"triggers\": [\n            {\n                \"type\": \"url\",\n                \"pattern_matching_type\": \"match-any\",\n                \"pattern_matches\": [\"*\"],\n                \"parameter_1\": null\n            }\n        ],\n        \"extra_actions\": []\n    },\n    \"message\": \"Edge rule retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Edge rule not found\",\n    \"http_status\": 404\n}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Edge Rule",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/edge-rules",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/edge-rules",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"description\":\"Force SSL on all requests\",\"enabled\":true,\"action_type\":\"force-ssl\",\"action_parameter_1\":\"https:\\\/\\\/example.com\\\/\",\"action_parameter_2\":\"architecto\",\"trigger_matching_type\":\"match-any\",\"triggers\":[{\"type\":\"url\",\"pattern_matching_type\":\"match-any\",\"pattern_matches\":[\"*\"]}],\"extra_actions\":[{\"action_type\":\"set-response-header\",\"action_parameter_1\":\"X-Custom-Header\",\"action_parameter_2\":\"custom-value\"}]}"
                                },
                                "description": "Creates a new edge rule for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"guid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"description\": \"Force SSL on all requests\",\n        \"enabled\": true,\n        \"action_type\": \"force-ssl\",\n        \"action_parameter_1\": null,\n        \"action_parameter_2\": null,\n        \"trigger_matching_type\": \"match-any\",\n        \"triggers\": [\n            {\n                \"type\": \"url\",\n                \"pattern_matching_type\": \"match-any\",\n                \"pattern_matches\": [\"*\"],\n                \"parameter_1\": null\n            }\n        ],\n        \"extra_actions\": []\n    },\n    \"message\": \"Edge rule created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"action_type\": [\"The action type must be a valid edge rule action type.\"],\n        \"triggers\": [\"The triggers field is required.\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Update Edge Rule",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/edge-rules\/:rule",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/edge-rules\/:rule",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "rule",
                                            "key": "rule",
                                            "value": "architecto",
                                            "description": ""
                                        },
                                        {
                                            "id": "ruleId",
                                            "key": "ruleId",
                                            "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                                            "description": "The edge rule GUID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"description\":\"Updated description\",\"enabled\":false,\"action_type\":\"redirect\",\"action_parameter_1\":\"https:\\\/\\\/example.com\\\/new-location\",\"action_parameter_2\":\"architecto\",\"trigger_matching_type\":\"match-all\",\"triggers\":[{\"type\":\"url\",\"pattern_matching_type\":\"match-any\",\"pattern_matches\":[\"\\\/old-page\"],\"parameter_1\":\"architecto\"}],\"extra_actions\":[{\"action_type\":\"set-response-header\",\"action_parameter_1\":\"X-Redirect\",\"action_parameter_2\":\"true\"}]}"
                                },
                                "description": "Updates an existing edge rule. All fields are optional \u2014 only include fields you want\nto change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"guid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"description\": \"Updated description\",\n        \"enabled\": false,\n        \"action_type\": \"redirect\",\n        \"action_parameter_1\": \"https:\/\/example.com\/new-location\",\n        \"action_parameter_2\": null,\n        \"trigger_matching_type\": \"match-all\",\n        \"triggers\": [\n            {\n                \"type\": \"url\",\n                \"pattern_matching_type\": \"match-any\",\n                \"pattern_matches\": [\"\/old-page\"],\n                \"parameter_1\": null\n            }\n        ],\n        \"extra_actions\": []\n    },\n    \"message\": \"Edge rule updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"action_type\": [\"The action type must be a valid edge rule action type.\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Delete Edge Rule",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/cdn\/edge-rules\/:rule",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/cdn\/edge-rules\/:rule",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "rule",
                                            "key": "rule",
                                            "value": "architecto",
                                            "description": ""
                                        },
                                        {
                                            "id": "ruleId",
                                            "key": "ruleId",
                                            "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                                            "description": "The edge rule GUID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Permanently deletes an edge rule. This action cannot be undone."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Edge rule deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Settings",
                    "description": "Manage WAF core configuration including execution mode, profiles, rule groups, and payload limits.",
                    "item": [
                        {
                            "name": "Get WAF Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/settings",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/settings",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the current WAF configuration for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"enabled\": true,\n        \"learning_mode\": false,\n        \"profile_id\": 1,\n        \"execution_mode\": 1,\n        \"disabled_rules\": [],\n        \"log_only_rules\": [],\n        \"request_header_logging\": false,\n        \"request_body_limit_action\": 0,\n        \"response_body_limit_action\": 0,\n        \"realtime_threat_intelligence\": true\n    },\n    \"message\": \"WAF settings retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Update WAF Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/settings",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/settings",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"enabled\":true,\"learning_mode\":false,\"profile_id\":1,\"execution_mode\":1,\"disabled_rules\":[\"rule-1\"],\"log_only_rules\":[\"rule-2\"],\"request_header_logging\":false,\"request_body_limit_action\":0,\"response_body_limit_action\":0,\"realtime_threat_intelligence\":true}"
                                },
                                "description": "Updates WAF configuration for a site. All fields are optional \u2014 only include\nfields you want to change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"enabled\": true,\n        \"learning_mode\": false,\n        \"execution_mode\": 1\n    },\n    \"message\": \"WAF settings updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"execution_mode\": [\"The execution mode must be 0 (Log) or 1 (Block).\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Profiles",
                    "description": "List available WAF profiles that can be assigned to a site.",
                    "item": [
                        {
                            "name": "List WAF Profiles",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/profiles",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/profiles",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the available WAF profiles that can be assigned to a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\"Id\": 1, \"Name\": \"Default\"},\n        {\"Id\": 2, \"Name\": \"WordPress\"}\n    ],\n    \"message\": \"WAF profiles retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: DDoS Protection",
                    "description": "Manage DDoS protection settings including sensitivity, execution mode, and challenge window.",
                    "item": [
                        {
                            "name": "Get DDoS Protection Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/ddos",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/ddos",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the current DDoS protection configuration for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"enabled\": true,\n        \"protection_type\": 1,\n        \"sensitivity\": 2,\n        \"execution_mode\": 1,\n        \"challenge_window\": 30\n    },\n    \"message\": \"DDoS protection settings retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Update DDoS Protection Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/ddos",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/ddos",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"enabled\":true,\"protection_type\":1,\"sensitivity\":2,\"execution_mode\":1,\"challenge_window\":30}"
                                },
                                "description": "Updates DDoS protection configuration for a site. All fields are optional \u2014 only include\nfields you want to change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"enabled\": true,\n        \"protection_type\": 1,\n        \"sensitivity\": 2,\n        \"execution_mode\": 1,\n        \"challenge_window\": 30\n    },\n    \"message\": \"DDoS protection settings updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"sensitivity\": [\"The sensitivity must be 0 (Off), 1 (Low), 2 (Medium), 3 (High), or 4 (VeryHigh).\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Bot Detection",
                    "description": "Manage bot detection settings including execution mode, sensitivity levels, and browser fingerprint configuration.",
                    "item": [
                        {
                            "name": "Get Bot Detection Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/bot-detection",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/bot-detection",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the current bot detection configuration for a site."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"execution_mode\": 1,\n        \"request_integrity_sensitivity\": 2,\n        \"ip_address_sensitivity\": 1,\n        \"browser_fingerprint_sensitivity\": 2,\n        \"browser_fingerprint_aggression\": 1,\n        \"browser_fingerprint_complex_enabled\": false\n    },\n    \"message\": \"Bot detection settings retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Update Bot Detection Settings",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/bot-detection",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/bot-detection",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"execution_mode\":1,\"request_integrity_sensitivity\":2,\"ip_address_sensitivity\":1,\"browser_fingerprint_sensitivity\":2,\"browser_fingerprint_aggression\":1,\"browser_fingerprint_complex_enabled\":false}"
                                },
                                "description": "Updates bot detection configuration for a site. All fields are optional \u2014 only include\nfields you want to change. Omitted fields retain their current values."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"execution_mode\": 1,\n        \"request_integrity_sensitivity\": 2,\n        \"ip_address_sensitivity\": 1,\n        \"browser_fingerprint_sensitivity\": 2,\n        \"browser_fingerprint_aggression\": 1,\n        \"browser_fingerprint_complex_enabled\": false\n    },\n    \"message\": \"Bot detection settings updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\n        \"execution_mode\": [\"The execution mode must be 0 (Off) or 1 (On).\"]\n    },\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "WAF: Access Lists",
                    "description": "Manage WAF access lists including managed threat feeds and custom IP\/CIDR\/ASN\/domain lists.\nManaged lists are curated threat intelligence feeds that can be enabled\/disabled.\nCustom lists allow you to create your own allowlists or blocklists.",
                    "item": [
                        {
                            "name": "List Access Lists",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all access lists (managed and custom) for a site, including usage limits."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"managed_lists\": [\n            {\n                \"list_id\": 1,\n                \"configuration_id\": 42,\n                \"name\": \"TOR Exit Nodes\",\n                \"description\": \"Known TOR exit node IP addresses\",\n                \"is_enabled\": true,\n                \"type\": 0,\n                \"category\": 32,\n                \"action\": 0,\n                \"required_plan\": 0,\n                \"entry_count\": 12345,\n                \"update_frequency\": \"1.00:00:00\",\n                \"last_updated\": \"2026-04-01T00:00:00Z\"\n            }\n        ],\n        \"custom_lists\": [],\n        \"custom_entry_count\": 0,\n        \"custom_entry_limit\": 10000,\n        \"custom_list_count\": 0,\n        \"custom_list_limit\": 25\n    },\n    \"message\": \"Access lists retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Get Access List Enums",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists\/enums",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists\/enums",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves available enum values for access list types, actions, and categories."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Access list enums retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Get Custom Access List",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists\/:listId",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists\/:listId",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "listId",
                                            "key": "listId",
                                            "value": "1",
                                            "description": "The access list ID."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a single custom access list with its content."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Office IPs\",\n        \"description\": \"Trusted office IP ranges\",\n        \"type\": 0,\n        \"content\": \"203.0.113.0\/24\\n198.51.100.1\",\n        \"checksum\": \"abc123\",\n        \"entry_count\": 2,\n        \"last_modified\": \"2026-04-01T00:00:00Z\"\n    },\n    \"message\": \"Custom access list retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Custom Access List",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"Office IPs\",\"description\":\"Trusted office IP ranges\",\"type\":0,\"content\":\"203.0.113.0\\\/24\\\\n198.51.100.1\"}"
                                },
                                "description": "Creates a new custom access list with the provided entries."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Office IPs\",\n        \"description\": \"Trusted office IP ranges\",\n        \"type\": 0,\n        \"content\": \"203.0.113.0\/24\\n198.51.100.1\",\n        \"checksum\": \"abc123\",\n        \"entry_count\": 2,\n        \"last_modified\": \"2026-04-01T00:00:00Z\"\n    },\n    \"message\": \"Custom access list created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"name\": [\"The name field is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Update Access List Configuration",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists\/configurations\/:configId",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists\/configurations\/:configId",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "configId",
                                            "key": "configId",
                                            "value": "42",
                                            "description": "The access list configuration ID."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PATCH",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"is_enabled\":true,\"action\":0}"
                                },
                                "description": "Updates the configuration (enable\/disable and action) for any access list (managed or custom).\nUse the `configuration_id` from the index response, not the `list_id`."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Access list configuration updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"action\": [\"The action must be 0 (Block), 1 (Log), 2 (Allow), 3 (Challenge), 4 (Captcha), or 5 (Bypass).\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Update Custom Access List",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists\/:listId",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists\/:listId",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "listId",
                                            "key": "listId",
                                            "value": "1",
                                            "description": "The access list ID."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "PATCH",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"Updated Office IPs\",\"content\":\"203.0.113.0\\\/24\\\\n198.51.100.1\\\\n10.0.0.0\\\/8\"}"
                                },
                                "description": "Updates a custom access list's name and\/or content. Only include fields you want to change."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": 1,\n        \"name\": \"Updated Office IPs\",\n        \"description\": \"Trusted office IP ranges\",\n        \"type\": 0,\n        \"content\": \"203.0.113.0\/24\\n198.51.100.1\\n10.0.0.0\/8\",\n        \"checksum\": \"def456\",\n        \"entry_count\": 3,\n        \"last_modified\": \"2026-04-07T00:00:00Z\"\n    },\n    \"message\": \"Custom access list updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"name\": [\"The name must be a string.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Delete Custom Access List",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/waf\/access-lists\/:listId",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/waf\/access-lists\/:listId",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "architecto",
                                            "description": "The site."
                                        },
                                        {
                                            "id": "listId",
                                            "key": "listId",
                                            "value": "1",
                                            "description": "The access list ID."
                                        },
                                        {
                                            "id": "vectorSite",
                                            "key": "vectorSite",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Permanently deletes a custom access list. This action cannot be undone."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Custom access list deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "CDN",
                    "description": "Purge CDN cache for a site. Supports full cache purge, purge by cache tag, or purge of specific URLs.",
                    "item": [
                        {
                            "name": "Purge Cache",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/purge-cache",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/purge-cache",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"cache_tag\":\"images\",\"url\":\"https:\\\/\\\/example.com\\\/style.css\"}"
                                },
                                "description": "Purges the CDN cache for a site.\nCan purge the entire cache, by cache tag, or a specific URL."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {},\n    \"message\": \"Cache purged successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Full Purge"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\"cache_tag\": \"images\"},\n    \"message\": \"Cache purged successfully for tag: images\",\n    \"http_status\": 200\n}",
                                    "name": "Tag Purge"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\"url\": \"https:\/\/example.com\/style.css\"},\n    \"message\": \"URL purged successfully\",\n    \"http_status\": 200\n}",
                                    "name": "URL Purge"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"url\": [\"The url field must be a valid URL.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "SSH Keys",
                    "description": "Manage SSH keys installed on specific dev sites. These keys are actually\ndeployed to the site's container and grant SSH access.\n\nWhen a new dev site is created, account-level default SSH keys are\nautomatically installed on the site. Use these endpoints to manage\nsite-specific keys. Account-level defaults are returned by the list\nendpoint (flagged with `is_account_default: true`) but must be managed\nvia the account-level SSH key endpoints.",
                    "item": [
                        {
                            "name": "List SSH Keys",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/ssh-keys",
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "25",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination. Default: 1.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/ssh-keys?per_page=25&page=1",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves all SSH keys installed on a specific dev site. The response\nincludes site-specific keys plus any account-level default keys\n(flagged with `is_account_default: true`), which are automatically\ninstalled on every site in the account. Account-level defaults are\nread-only from this endpoint \u2014 use the account SSH key endpoints to\nmanage them.\n\nResults are ordered with site-specific keys first, then account-level\ndefaults, each group sorted alphabetically by name."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n            \"account_id\": 1,\n            \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcdj\",\n            \"name\": \"developer key\",\n            \"fingerprint\": \"SHA256:abc123def456...\",\n            \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n            \"is_account_default\": false,\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        },\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdl\",\n            \"account_id\": 1,\n            \"vector_site_id\": null,\n            \"name\": \"account default key\",\n            \"fingerprint\": \"SHA256:def789abc012...\",\n            \"public_key_preview\": \"ssh-ed25519 AAAAC3NzaC1l...team@account\",\n            \"is_account_default\": true,\n            \"created_at\": \"2025-01-10T09:00:00+00:00\",\n            \"updated_at\": \"2025-01-10T09:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"SSH keys retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Add SSH Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/ssh-keys",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/ssh-keys",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                            "description": "The site ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"developer key\",\"public_key\":\"ssh-rsa AAAAB3NzaC1yc2EA... user@host\"}"
                                },
                                "description": "Adds a new SSH key to a specific dev site. The key will be deployed to the\nsite's container and grant SSH access."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n        \"account_id\": 1,\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcdj\",\n        \"name\": \"developer key\",\n        \"fingerprint\": \"SHA256:abc123def456...\",\n        \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n        \"is_account_default\": false,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSH key added to site successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"public_key\": [\"Unable to parse SSH public key. Ensure it is in valid OpenSSH format.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Invalid Key"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"public_key\": [\"This SSH key is already installed on this site.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Duplicate Key"
                                }
                            ]
                        },
                        {
                            "name": "Remove SSH Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/sites\/:site\/ssh-keys\/:key",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/ssh-keys\/:key",
                                    "variable": [
                                        {
                                            "id": "site",
                                            "key": "site",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                            "description": "The site ID."
                                        },
                                        {
                                            "id": "key",
                                            "key": "key",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdk",
                                            "description": "The SSH key ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Removes a site-specific SSH key from a dev site. The key will be\nremoved from the site's container and SSH access will be revoked.\n\nOnly keys that belong to this specific site may be removed here \u2014\naccount-level default keys (`is_account_default: true`) are scoped\nout and will return 404 via this endpoint. Manage those via the\naccount SSH key endpoints; removing an account-level key propagates\nto every site in the account."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdk\",\n        \"account_id\": 1,\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcdj\",\n        \"name\": \"developer key\",\n        \"fingerprint\": \"SHA256:abc123def456...\",\n        \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n        \"is_account_default\": false,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSH key removed from site successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"SSH key not found on this site\", \"http_status\": 404}",
                                    "name": "Key Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                                    "name": "Site Not Found"
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Environments",
            "description": "\nManage deployment environments for sites. Each site can have multiple environments\nwith their own domains, PHP versions, and secrets. Environment names use a slug format\n(lowercase letters, numbers, and hyphens).\n\nEnvironments are created with a `pending` status and transition to `active` once\ncontainer provisioning completes. Each environment gets a unique subdomain under\nyour registered domain.\n\n#### Environment Status Lifecycle\n\n- `pending` - Environment creation initiated, provisioning in progress\n- `active` - Environment is fully operational\n- `suspended` - Environment is paused\n- `terminating` - Environment deletion in progress\n- `terminated` - Environment has been fully removed\n\n#### Production Environment\n\nEach site can have at most one production environment (`is_production: true`).\nThe production environment receives CDN integration via Bunny.net.",
            "item": [
                {
                    "name": "List Environments",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/environments",
                            "query": [
                                {
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "Filter by site ID or subdomain.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/environments?site=01jfgxk4nqrst5vwx9yz0abcde&per_page=25&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of environments. Filter by site using the optional\n`site` parameter, or list all environments for the authenticated account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"your_customer_id\": \"cust_12345\",\n            \"name\": \"production\",\n            \"is_production\": true,\n            \"status\": \"active\",\n            \"status_label\": \"Active\",\n            \"provisioning_step\": \"complete\",\n            \"provisioning_step_label\": \"Complete\",\n            \"failure_reason\": null,\n            \"php_version\": \"8.3\",\n            \"tags\": [\"live\", \"primary\"],\n            \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n            \"custom_domain\": \"example.com\",\n            \"dns_target\": \"site-abc123.b-cdn.net\",\n            \"dns_status\": {\n                \"state\": \"verified\",\n                \"records\": [],\n                \"last_checked_at\": \"2025-01-15T12:05:00+00:00\"\n            },\n            \"custom_domain_certificate\": {\n                \"status\": \"issued\",\n                \"dns_validation_records\": null\n            },\n            \"subdomain\": \"wispy-dust\",\n            \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n            \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Environments retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Site Not Found"
                        }
                    ]
                },
                {
                    "name": "Get Environment",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/environments\/:env",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env",
                            "variable": [
                                {
                                    "id": "env",
                                    "key": "env",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                    "description": "The environment ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves details of a specific environment."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"provisioning_step\": \"complete\",\n        \"provisioning_step_label\": \"Complete\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [\"live\", \"primary\"],\n        \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"dns_target\": \"site-abc123.b-cdn.net\",\n        \"dns_status\": {\n            \"state\": \"verified\",\n            \"records\": [],\n            \"last_checked_at\": \"2025-01-15T12:05:00+00:00\"\n        },\n        \"custom_domain_certificate\": {\n            \"status\": \"issued\",\n            \"dns_validation_records\": null\n        },\n        \"subdomain\": \"wispy-dust\",\n        \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "Secrets",
                    "description": "Manage environment-level secrets and environment variables for a specific environment.\nThese are injected during site deployment and are scoped to a single environment.\n\nItems with `is_secret=true` (the default) are stored in AWS Secrets Manager and their values\nare never returned in API responses. Items with `is_secret=false` are stored as Lambda\nenvironment variables and their values ARE returned in API responses.\n\nCertain keys are reserved for system use and cannot be used.",
                    "item": [
                        {
                            "name": "List Secrets",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/secrets",
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "10",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/secrets?per_page=10&page=1",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a paginated list of all secrets and environment variables for a specific environment.\nValues are only included for environment variables (`is_secret=false`)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"key\": \"STRIPE_SECRET_KEY\",\n            \"is_secret\": true,\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        },\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n            \"key\": \"APP_ENV\",\n            \"is_secret\": false,\n            \"value\": \"production\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Environment secrets retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Get Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/secrets\/:secret",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/secrets\/:secret",
                                    "variable": [
                                        {
                                            "id": "secret",
                                            "key": "secret",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The secret ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves details of a specific environment secret or variable.\nThe value is only included for environment variables (`is_secret=false`)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_SECRET_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment secret retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Secret"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"key\": \"APP_ENV\",\n        \"is_secret\": false,\n        \"value\": \"production\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment secret retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Environment Variable"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment secret not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/secrets",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/secrets",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"key\":\"STRIPE_SECRET_KEY\",\"value\":\"sk_live_xxxx\",\"is_secret\":true}"
                                },
                                "description": "Creates a new secret or environment variable for a specific environment.\nIt will be available to this environment during deployment.\n\nSet `is_secret` to `false` to create a plain environment variable instead of a secret.\nEnvironment variables are stored as Lambda env vars (cheaper) and their values are\nreturned in API responses. Secrets are stored in AWS Secrets Manager and their values\nare never returned.\n\nThe following keys are reserved and cannot be used:\n<kbd>AUTH_KEY<\/kbd>, <kbd>SECURE_AUTH_KEY<\/kbd>, <kbd>LOGGED_IN_KEY<\/kbd>, <kbd>NONCE_KEY<\/kbd>, <kbd>AUTH_SALT<\/kbd>, <kbd>SECURE_AUTH_SALT<\/kbd>, <kbd>LOGGED_IN_SALT<\/kbd>, <kbd>NONCE_SALT<\/kbd>, <kbd>AUTOMATIC_UPDATER_DISABLED<\/kbd>, <kbd>DISABLE_WP_CRON<\/kbd>, <kbd>DISALLOW_FILE_EDIT<\/kbd>, <kbd>DISALLOW_FILE_MODS<\/kbd>, <kbd>DOMAIN_CURRENT_SITE<\/kbd>, <kbd>WP_HOME<\/kbd>, <kbd>WP_SITEURL<\/kbd>, <kbd>YMIR_ASSETS_PATH<\/kbd>, <kbd>YMIR_ASSETS_URL<\/kbd>, <kbd>YMIR_CACHE_PREFIX<\/kbd>, <kbd>YMIR_CACHE_TABLE<\/kbd>, <kbd>YMIR_CDN_IMAGE_PROCESSING_ENABLED<\/kbd>, <kbd>YMIR_DISTRIBUTION_ID<\/kbd>, <kbd>YMIR_DOMAIN_NAMES<\/kbd>, <kbd>YMIR_ENVIRONMENT<\/kbd>, <kbd>YMIR_MAX_EXECUTION_TIME<\/kbd>, <kbd>YMIR_PRIMARY_DOMAIN_NAME<\/kbd>, <kbd>YMIR_PROJECT_TYPE<\/kbd>, <kbd>YMIR_PUBLIC_STORE<\/kbd>, <kbd>YMIR_REDIS_ENDPOINT<\/kbd>, <kbd>YMIR_SECRETS_PATH<\/kbd>, <kbd>YMIR_UPLOAD_URL<\/kbd>, <kbd>_HANDLER<\/kbd>, <kbd>AWS_ACCESS_KEY_ID<\/kbd>, <kbd>AWS_EXECUTION_ENV<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_MEMORY_SIZE<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_NAME<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_VERSION<\/kbd>, <kbd>AWS_LAMBDA_LOG_GROUP_NAME<\/kbd>, <kbd>AWS_LAMBDA_LOG_STREAM_NAME<\/kbd>, <kbd>AWS_LAMBDA_RUNTIME_API<\/kbd>, <kbd>AWS_REGION<\/kbd>, <kbd>AWS_SECRET_ACCESS_KEY<\/kbd>, <kbd>AWS_SESSION_TOKEN<\/kbd>, <kbd>LAMBDA_RUNTIME_DIR<\/kbd>, <kbd>LAMBDA_TASK_ROOT<\/kbd>, <kbd>TZ<\/kbd>"
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_SECRET_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment secret created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"key\": [\"The secret key is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Update Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/secrets\/:secret",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/secrets\/:secret",
                                    "variable": [
                                        {
                                            "id": "secret",
                                            "key": "secret",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The secret ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"key\":\"STRIPE_API_KEY\",\"value\":\"sk_live_yyyy\",\"is_secret\":true}"
                                },
                                "description": "Updates an existing environment secret or variable. You can update the key, value,\nis_secret flag, or any combination.\n\nThe following keys are reserved and cannot be used:\n<kbd>AUTH_KEY<\/kbd>, <kbd>SECURE_AUTH_KEY<\/kbd>, <kbd>LOGGED_IN_KEY<\/kbd>, <kbd>NONCE_KEY<\/kbd>, <kbd>AUTH_SALT<\/kbd>, <kbd>SECURE_AUTH_SALT<\/kbd>, <kbd>LOGGED_IN_SALT<\/kbd>, <kbd>NONCE_SALT<\/kbd>, <kbd>AUTOMATIC_UPDATER_DISABLED<\/kbd>, <kbd>DISABLE_WP_CRON<\/kbd>, <kbd>DISALLOW_FILE_EDIT<\/kbd>, <kbd>DISALLOW_FILE_MODS<\/kbd>, <kbd>DOMAIN_CURRENT_SITE<\/kbd>, <kbd>WP_HOME<\/kbd>, <kbd>WP_SITEURL<\/kbd>, <kbd>YMIR_ASSETS_PATH<\/kbd>, <kbd>YMIR_ASSETS_URL<\/kbd>, <kbd>YMIR_CACHE_PREFIX<\/kbd>, <kbd>YMIR_CACHE_TABLE<\/kbd>, <kbd>YMIR_CDN_IMAGE_PROCESSING_ENABLED<\/kbd>, <kbd>YMIR_DISTRIBUTION_ID<\/kbd>, <kbd>YMIR_DOMAIN_NAMES<\/kbd>, <kbd>YMIR_ENVIRONMENT<\/kbd>, <kbd>YMIR_MAX_EXECUTION_TIME<\/kbd>, <kbd>YMIR_PRIMARY_DOMAIN_NAME<\/kbd>, <kbd>YMIR_PROJECT_TYPE<\/kbd>, <kbd>YMIR_PUBLIC_STORE<\/kbd>, <kbd>YMIR_REDIS_ENDPOINT<\/kbd>, <kbd>YMIR_SECRETS_PATH<\/kbd>, <kbd>YMIR_UPLOAD_URL<\/kbd>, <kbd>_HANDLER<\/kbd>, <kbd>AWS_ACCESS_KEY_ID<\/kbd>, <kbd>AWS_EXECUTION_ENV<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_MEMORY_SIZE<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_NAME<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_VERSION<\/kbd>, <kbd>AWS_LAMBDA_LOG_GROUP_NAME<\/kbd>, <kbd>AWS_LAMBDA_LOG_STREAM_NAME<\/kbd>, <kbd>AWS_LAMBDA_RUNTIME_API<\/kbd>, <kbd>AWS_REGION<\/kbd>, <kbd>AWS_SECRET_ACCESS_KEY<\/kbd>, <kbd>AWS_SESSION_TOKEN<\/kbd>, <kbd>LAMBDA_RUNTIME_DIR<\/kbd>, <kbd>LAMBDA_TASK_ROOT<\/kbd>, <kbd>TZ<\/kbd>"
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_API_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment secret updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment secret not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"key\": [\"The secret key must start with a letter and contain only uppercase letters, numbers, and underscores.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Delete Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/secrets\/:secret",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/secrets\/:secret",
                                    "variable": [
                                        {
                                            "id": "secret",
                                            "key": "secret",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The secret ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Deletes an environment secret."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_SECRET_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment secret deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment secret not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Deployments",
                    "description": "Manage code deployments to environments. Each deployment represents a release of\nyour WordPress site to a specific environment (staging or production).\n\nDeployments are created with a `pending` status and progress through `deploying`\nto either `deployed` (success) or `failed`. Each deployment records the actor\nwho initiated it and timing information.\n\n#### Deployment Status Lifecycle\n\n- `pending` - Deployment created, waiting to start\n- `deploying` - Deployment in progress\n- `deployed` - Deployment completed successfully\n- `failed` - Deployment failed (check stdout\/stderr for details)",
                    "item": [
                        {
                            "name": "List Deployments",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/deployments",
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "25",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination. Default: 1.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/deployments?per_page=25&page=1",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a paginated list of all deployments for a specific environment,\nordered by most recent first."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n            \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"status\": \"deployed\",\n            \"status_label\": \"Deployed\",\n            \"stdout\": \"Deployment output...\",\n            \"stderr\": null,\n            \"actor\": \"user@example.com\",\n            \"environment\": {\n                \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n                \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n                \"your_customer_id\": \"cust_12345\",\n                \"name\": \"production\",\n                \"is_production\": true,\n                \"status\": \"active\",\n                \"status_label\": \"Active\",\n                \"php_version\": \"8.3\",\n                \"tags\": [\"wordpress\"],\n                \"fqdn\": \"example.com\",\n                \"custom_domain\": \"example.com\",\n                \"subdomain\": \"wispy-dust\",\n                \"created_at\": \"2025-01-15T12:00:00+00:00\",\n                \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n            },\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Deployments retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Environment Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Get Deployment",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/deployments\/:deployment",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/deployments\/:deployment",
                                    "variable": [
                                        {
                                            "id": "deployment",
                                            "key": "deployment",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                            "description": "The deployment ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves details of a specific deployment including output logs and actor information."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"status\": \"deployed\",\n        \"status_label\": \"Deployed\",\n        \"stdout\": \"Building project...\\nUploading assets...\\nDeployment complete.\",\n        \"stderr\": null,\n        \"actor\": \"user@example.com\",\n        \"environment\": {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"your_customer_id\": \"cust_12345\",\n            \"name\": \"production\",\n            \"is_production\": true,\n            \"status\": \"active\",\n            \"status_label\": \"Active\",\n            \"php_version\": \"8.3\",\n            \"tags\": [\"wordpress\"],\n            \"fqdn\": \"example.com\",\n            \"custom_domain\": \"example.com\",\n            \"subdomain\": \"wispy-dust\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        },\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Deployment retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Deployment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Deployment",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/deployments",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/deployments",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"include_uploads\":false,\"include_database\":false}"
                                },
                                "description": "Triggers a new deployment for the environment. The deployment starts with\n`pending` status and progresses through `deploying` to either `deployed`\nor `failed`.\n\nThe authenticated user is recorded as the deployment actor."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"stdout\": null,\n        \"stderr\": null,\n        \"actor\": \"user@example.com\",\n        \"environment\": {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"your_customer_id\": \"cust_12345\",\n            \"name\": \"production\",\n            \"is_production\": true,\n            \"status\": \"active\",\n            \"status_label\": \"Active\",\n            \"php_version\": \"8.3\",\n            \"tags\": [\"wordpress\"],\n            \"fqdn\": \"example.com\",\n            \"custom_domain\": \"example.com\",\n            \"subdomain\": \"wispy-dust\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        },\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Deployment initiated\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Environment Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Rollback Deployment",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/rollback",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/rollback",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"target_deployment_id\":\"01jfgxk4nqrst5vwx9yz0abcdh\"}"
                                },
                                "description": "Triggers a rollback for the environment. By default, rolls back to the last\nsuccessful deployment. Optionally, you can specify a target_deployment_id to\nrollback to a specific previous deployment.\n\nThe rollback creates a new deployment record with `pending` status that progresses\nthrough `running` to either `completed` or `failed`."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"stdout\": null,\n        \"stderr\": null,\n        \"actor\": \"user@example.com\",\n        \"environment\": {\"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\", \"name\": \"production\", \"is_production\": true},\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Rollback initiated\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Environment Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"target_deployment_id\": [\"The specified deployment does not exist for this environment or has no Ymir deployment ID.\"]}, \"message\": \"Validation failed\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "SSL",
                    "description": "Manage SSL provisioning for Vector environments.\n\nSSL is automatically provisioned when environments are deployed. These endpoints\nprovide visibility into SSL status and manual intervention capabilities when\nprovisioning gets stuck.\n\n##### Environment Status\n\nThe main `status` field tracks the environment lifecycle:\n\n- `pending` - Environment created, awaiting first deploy\n- `provisioning` - Resources being provisioned (including SSL)\n- `active` - Environment fully operational\n- `failed` - Provisioning failed\n\n##### Provisioning Step\n\nThe `provisioning_step` field tracks detailed progress during provisioning.\nA companion `provisioning_step_label` field returns the human-readable label.\n\n- `null` - Not started\n- `pending` - Queued\n- `creating_ymir_project` - Creating Ymir project\n- `creating_ymir_environment` - Creating Ymir environment\n- `creating_database` - Creating database\n- `creating_redis_user` - Creating Redis user\n- `creating_cdn` - Creating CDN (production only)\n- `creating_dns` - Creating DNS records\n- `generating_salts` - Generating WordPress salts\n- `requesting_cert` - Requesting SSL certificate\n- `waiting_cert` - Waiting for SSL certificate\n- `deploying` - Deploying\n- `configuring_dns` - Verifying DNS propagation\n- `ready` - Platform SSL complete (terminal for staging)\n- `waiting_custom_dns` - Waiting for custom domain DNS (production only)\n- `provisioning_cdn_ssl` - Provisioning CDN SSL\n- `complete` - Fully complete (terminal for production with custom domain)",
                    "item": [
                        {
                            "name": "Get Status",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/ssl",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/ssl",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Get the current SSL provisioning status for an environment."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"provisioning_step\": \"complete\",\n        \"provisioning_step_label\": \"Complete\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [],\n        \"platform_domain\": \"wispy-dust.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"subdomain\": \"wispy-dust\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSL status retrieved\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Nudge",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/ssl\/nudge",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/ssl\/nudge",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"retry\":true}"
                                },
                                "description": "Manually nudge SSL provisioning for an environment. Use this when SSL\nprovisioning appears to be stuck or to retry after a failure."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"provisioning\",\n        \"status_label\": \"Provisioning\",\n        \"provisioning_step\": \"deploying\",\n        \"provisioning_step_label\": \"Deploying\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [],\n        \"platform_domain\": \"wispy-dust.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"subdomain\": \"wispy-dust\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSL provisioning advanced from waiting_cert to deploying\",\n    \"http_status\": 200\n}",
                                    "name": "Provisioning Progressed"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"provisioning\",\n        \"status_label\": \"Provisioning\",\n        \"provisioning_step\": \"waiting_custom_dns\",\n        \"provisioning_step_label\": \"Waiting for custom domain DNS\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [],\n        \"platform_domain\": \"wispy-dust.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"subdomain\": \"wispy-dust\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSL provisioning is waiting and cannot advance yet. Current step: waiting_custom_dns\",\n    \"http_status\": 200\n}",
                                    "name": "Waiting"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Databases",
                    "description": "Manage database credentials for production environments. Each environment has its\nown isolated database with credentials that can be rotated for security.",
                    "item": [
                        {
                            "name": "Reset Password",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/db\/reset-password",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/db\/reset-password",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Rotates the database password for a production environment via Ymir.\nThe old password is immediately invalidated.\n\n> [!WARNING]\n> The new password is returned ONLY in this response. Store it securely\u2014it cannot be retrieved again.\n\n> [!NOTE]\n> After rotating the password, you must redeploy the environment for your application to pick up the new credentials."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"provisioning_step\": \"complete\",\n        \"provisioning_step_label\": \"Complete\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [],\n        \"platform_domain\": \"wispy-dust.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"subdomain\": \"wispy-dust\",\n        \"database_user\": \"user_abc123_production\",\n        \"database_password\": \"aBcD1234!@#$EfGh5678\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Database password reset successfully. Store the new password securely - it will not be shown again. Remember to redeploy your environment.\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 400,
                                    "body": "{\"data\": {}, \"message\": \"Environment does not have a database user configured. Deploy the environment first.\", \"http_status\": 400}",
                                    "name": "No Database User"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 500,
                                    "body": "{\"data\": {}, \"message\": \"Failed to rotate database password\", \"http_status\": 500}",
                                    "name": "Rotation Failed"
                                }
                            ]
                        },
                        {
                            "name": "Create Database Promote",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/db\/promote",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/db\/promote",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"drop_tables\":true,\"disable_foreign_keys\":true}"
                                },
                                "description": "Promote the dev database to this environment. Exports the dev database,\nthen imports it into the environment's database."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 202,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_db_export_id\": null,\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": null,\n        \"completed_at\": null\n    },\n    \"message\": \"Database promote initiated\",\n    \"http_status\": 202\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"environment\": [\"Environment must be in active state to promote database.\"]}, \"message\": \"Environment must be in active state to promote database.\", \"http_status\": 422}",
                                    "name": "Validation Error"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"promote\": [\"A database promote is already in progress for this environment.\"]}, \"message\": \"A database promote is already in progress for this environment.\", \"http_status\": 422}",
                                    "name": "Already In Progress"
                                }
                            ]
                        },
                        {
                            "name": "Get Promote Status",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/db\/promotes\/:promote",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/db\/promotes\/:promote",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The environment ID."
                                        },
                                        {
                                            "id": "promote",
                                            "key": "promote",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdf",
                                            "description": "The promote ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Get the current status of a database promote operation."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_db_export_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": 12500,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": \"2025-01-15T12:00:00+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Database promote retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Completed"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_db_export_id\": null,\n        \"status\": \"exporting\",\n        \"status_label\": \"Exporting\",\n        \"options\": {\n            \"drop_tables\": true,\n            \"disable_foreign_keys\": true,\n            \"search_replace\": null\n        },\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": \"2025-01-15T12:00:00+00:00\",\n        \"completed_at\": null\n    },\n    \"message\": \"Database promote retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "In Progress"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Promote not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Domains",
                    "description": "Check the status of domain change operations for an environment.\nDomain changes are initiated via the environment update endpoint.\n\n#### Domain Change Status Lifecycle\n\n- `pending` - Domain change created, waiting to start\n- `search_replacing` - Running search-replace on the database\n- `syncing_env` - Syncing environment variables with new domain\n- `redeploying` - Redeploying the environment\n- `completed` - Domain change finished successfully\n- `failed` - Domain change failed (see `error_message` for details)",
                    "item": [
                        {
                            "name": "Get Domain Change Status",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/domain-changes\/:domainChange",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/domain-changes\/:domainChange",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The environment ID."
                                        },
                                        {
                                            "id": "domainChange",
                                            "key": "domainChange",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                            "description": "The domain change ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Get the current status of a domain change operation."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_environment_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"old_domain\": \"wispy-dust.vectorpages.com\",\n        \"new_domain\": \"wispy-dust.vectorpages.com\",\n        \"old_custom_domain\": \"example.org\",\n        \"new_custom_domain\": \"example.com\",\n        \"error_message\": null,\n        \"duration_ms\": 12450,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": \"2025-01-15T12:00:00+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Domain change retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Domain change not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Create Environment",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/sites\/:site\/environments",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/sites\/:site\/environments",
                            "variable": [
                                {
                                    "id": "site",
                                    "key": "site",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "The site ID."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"production\",\"custom_domain\":\"example.com\",\"is_production\":true,\"php_version\":\"8.3\",\"tags\":[\"live\",\"primary\"]}"
                        },
                        "description": "Creates a new environment for a site. The environment is created with a\n`pending` status and will transition to `active` once provisioning completes.\n\nEach environment gets a unique auto-generated subdomain and uses the site's\nconfigured domain.\n\n**Production environments:** Only one environment per site can be marked as\nproduction (`is_production: true`). Production environments receive CDN\nintegration via Bunny.net when a `custom_domain` is supplied.\n\n**Custom domain:** Optional for any environment. When supplied, ACM certificate\nprovisioning is initiated asynchronously and \u2014 for production environments \u2014\nthe hostname is attached to the Bunny pull zone. The DNS validation records\nand the CDN target are not available in the create response; poll the\nenvironment (GET) to retrieve `custom_domain_certificate.dns_validation_records`\nand `dns_target` once they become available."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"provisioning_step\": \"pending\",\n        \"provisioning_step_label\": \"Queued\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [\"live\", \"primary\"],\n        \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"dns_target\": \"site-abc123.b-cdn.net\",\n        \"dns_status\": {\n            \"state\": \"pending\",\n            \"records\": [\n                {\"type\": \"CNAME\", \"host\": \"example.com\", \"value\": \"site-abc123.b-cdn.net\", \"purpose\": \"traffic\"}\n            ],\n            \"last_checked_at\": null\n        },\n        \"custom_domain_certificate\": {\n            \"status\": \"pending\",\n            \"dns_validation_records\": null\n        },\n        \"subdomain\": \"wispy-dust\",\n        \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment creation initiated\",\n    \"http_status\": 201\n}",
                            "name": "Created"
                        },
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"staging-2\",\n        \"is_production\": false,\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"provisioning_step\": \"pending\",\n        \"provisioning_step_label\": \"Queued\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [],\n        \"platform_domain\": \"wispy-dust--staging-2.vectorpages.com\",\n        \"custom_domain\": null,\n        \"dns_target\": \"wispy-dust--staging-2.vectorpages.com\",\n        \"dns_status\": {\n            \"state\": \"not_required\",\n            \"records\": [],\n            \"last_checked_at\": null\n        },\n        \"custom_domain_certificate\": null,\n        \"subdomain\": \"wispy-dust\",\n        \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment creation initiated\",\n    \"http_status\": 201\n}",
                            "name": "Created without custom domain"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Site not found\", \"http_status\": 404}",
                            "name": "Site Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"name\": [\"Environment name must be lowercase letters, numbers, and hyphens only.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"name\": [\"Environment name must not contain consecutive hyphens (--).\" ]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Consecutive Hyphens"
                        }
                    ]
                },
                {
                    "name": "Update Environment",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/environments\/:env",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env",
                            "variable": [
                                {
                                    "id": "env",
                                    "key": "env",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                    "description": "The environment ID."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"custom_domain\":\"example.com\",\"tags\":[\"live\",\"updated\"]}"
                        },
                        "description": "Updates an existing environment. Only the fields provided will be updated.\n\nWhen `custom_domain` changes, a domain change operation is initiated asynchronously\n(SSL certificate provisioning, search-replace, env sync, redeployment). The response\nincludes a `pending_domain_change` object for polling status. Returns 202 for domain\nchanges and 200 for metadata-only updates.\n\n#### DNS Requirements\n\nAfter setting a custom domain, the domain owner must create two types of DNS records:\n\n1. **CNAME for traffic routing** \u2014 Point the custom domain to the `dns_target` value\n   (e.g., `example.com CNAME cdn-hostname.b-cdn.net`).\n2. **CNAME(s) for SSL certificate validation** \u2014 Create the DNS records listed in\n   `custom_domain_certificate.dns_validation_records`. These are required by AWS ACM\n   to issue the SSL certificate. Until these records are created, the certificate\n   status will remain `waiting_validation`.\n\nPoll the environment (GET) to check `custom_domain_certificate.status` for progress.\nPossible values: `pending`, `requesting`, `waiting_validation`, `issued`, `failed`, `timed_out`."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"provisioning_step\": \"complete\",\n        \"provisioning_step_label\": \"Complete\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.4\",\n        \"tags\": [\"live\", \"updated\"],\n        \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"dns_target\": \"site-abc123.b-cdn.net\",\n        \"dns_status\": {\n            \"state\": \"verified\",\n            \"records\": [],\n            \"last_checked_at\": \"2025-01-15T12:05:00+00:00\"\n        },\n        \"custom_domain_certificate\": {\n            \"status\": \"issued\",\n            \"dns_validation_records\": null\n        },\n        \"subdomain\": \"wispy-dust\",\n        \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment updated successfully\",\n    \"http_status\": 200\n}",
                            "name": "Metadata Update"
                        },
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"active\",\n        \"status_label\": \"Active\",\n        \"provisioning_step\": \"complete\",\n        \"provisioning_step_label\": \"Complete\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [\"live\", \"primary\"],\n        \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"dns_target\": \"site-abc123.b-cdn.net\",\n        \"dns_status\": {\n            \"state\": \"pending\",\n            \"records\": [\n                {\"type\": \"CNAME\", \"host\": \"_abc123.example.com\", \"value\": \"_def456.acm-validations.aws\", \"purpose\": \"validation\"},\n                {\"type\": \"CNAME\", \"host\": \"example.com\", \"value\": \"site-abc123.b-cdn.net\", \"purpose\": \"traffic\"}\n            ],\n            \"last_checked_at\": null\n        },\n        \"custom_domain_certificate\": {\n            \"status\": \"pending\",\n            \"dns_validation_records\": [\n                {\"name\": \"_abc123.example.com\", \"type\": \"CNAME\", \"value\": \"_def456.acm-validations.aws\"}\n            ]\n        },\n        \"subdomain\": \"wispy-dust\",\n        \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"pending_domain_change\": {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n            \"status\": \"pending\",\n            \"status_label\": \"Pending\",\n            \"old_domain\": \"old.example.com\",\n            \"new_domain\": \"example.com\"\n        },\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment update initiated, domain change in progress\",\n    \"http_status\": 202\n}",
                            "name": "Domain Change Initiated"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"environment\": [\"Environment must be in active state to change domain.\"]},\n    \"message\": \"Environment must be in active state to change domain.\",\n    \"http_status\": 422\n}",
                            "name": "Environment Not Active"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"domain_change\": [\"A domain change is already in progress for this environment.\"]},\n    \"message\": \"A domain change is already in progress for this environment.\",\n    \"http_status\": 422\n}",
                            "name": "Domain Change In Progress"
                        }
                    ]
                },
                {
                    "name": "Delete Environment",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/environments\/:env",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env",
                            "variable": [
                                {
                                    "id": "env",
                                    "key": "env",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                    "description": "The environment ID."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Initiates deletion of an environment. This terminates all associated\ncontainers, deployments, and CDN resources. The environment status\ntransitions to `terminating` and eventually `terminated`.\n\nThis operation is irreversible. All environment data will be permanently removed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"vector_site_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"your_customer_id\": \"cust_12345\",\n        \"name\": \"production\",\n        \"is_production\": true,\n        \"status\": \"terminating\",\n        \"status_label\": \"Terminating\",\n        \"provisioning_step\": \"complete\",\n        \"provisioning_step_label\": \"Complete\",\n        \"failure_reason\": null,\n        \"php_version\": \"8.3\",\n        \"tags\": [],\n        \"platform_domain\": \"wispy-dust--prod.vectorpages.com\",\n        \"custom_domain\": \"example.com\",\n        \"dns_target\": \"site-abc123.b-cdn.net\",\n        \"dns_status\": {\n            \"state\": \"verified\",\n            \"records\": [],\n            \"last_checked_at\": \"2025-01-15T12:05:00+00:00\"\n        },\n        \"custom_domain_certificate\": {\n            \"status\": \"issued\",\n            \"dns_validation_records\": null\n        },\n        \"subdomain\": \"wispy-dust\",\n        \"database_host\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n        \"database_name\": \"db_01jfgxk4nqrst5vwx9yz0abcde\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Environment deletion initiated\",\n    \"http_status\": 202\n}",
                            "name": "Accepted"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "DNS",
                    "description": "",
                    "item": [
                        {
                            "name": "Recheck DNS",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/environments\/:env\/dns\/recheck",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/environments\/:env\/dns\/recheck",
                                    "variable": [
                                        {
                                            "id": "env",
                                            "key": "env",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The environment ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Re-verifies the custom domain DNS configuration on demand. Resolves the\ncustomer's CNAME, compares against the expected target (Bunny CDN\nhostname for production with CDN, otherwise the Ymir vanity domain),\nand marks the environment as DNS-verified when matched."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\"data\": {\"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\"}, \"message\": \"DNS verified\", \"http_status\": 200}",
                                    "name": "DNS Verified"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\"data\": {\"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\"}, \"message\": \"DNS not yet propagating to expected target\", \"http_status\": 200}",
                                    "name": "Still Pending"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Environment not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\"data\": {}, \"errors\": {\"environment\": [\"Environment has no custom domain to verify.\"]}, \"message\": \"Environment has no custom domain to verify.\", \"http_status\": 422}",
                                    "name": "No Custom Domain"
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Account",
            "description": "\nManage your Vector Pro account settings including API keys, SSH keys, and global secrets.",
            "item": [
                {
                    "name": "Get Account Summary",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/account",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/account"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a summary of the authenticated account's Vector Pro information\nincluding owner details, cluster DNS endpoints, verified domains,\nsite\/environment counts grouped by status, deployment metrics, backup counts,\nand recent activity.\n\nSite counts exclude sites in a terminal state (`terminated`, `termination_requested`,\n`canceled`). Environment counts exclude environments in a terminal state (`terminated`,\n`terminating`). Those statuses are therefore omitted from the `by_status` breakdowns\nand are not included in any of the total\/convenience counts.\n\nResponses are cached for 5 minutes per account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"owner\": {\n            \"name\": \"John Doe\",\n            \"email\": \"user@example.com\"\n        },\n        \"account\": {\n            \"name\": \"My Account\",\n            \"company\": \"Acme Corp\"\n        },\n        \"partner\": {\n            \"external_customer_url\": \"https:\/\/myapp.com\/customers\/YOUR_ID\"\n        },\n        \"cluster\": {\n            \"alb_dns_name\": \"alb-abc123.us-west-2.elb.amazonaws.com\",\n            \"aurora_cluster_endpoint\": \"cluster.abc123.us-east-1.rds.amazonaws.com\",\n            \"ssh_nlb_dns\": \"nlb-abc123.us-west-2.elb.amazonaws.com\"\n        },\n        \"domains\": [\"example.com\", \"example.org\"],\n        \"sites\": {\n            \"total\": 4,\n            \"by_status\": {\n                \"pending\": 0,\n                \"activation_requested\": 0,\n                \"active\": 3,\n                \"suspension_requested\": 0,\n                \"suspended\": 1,\n                \"unsuspension_requested\": 0\n            }\n        },\n        \"environments\": {\n            \"total\": 7,\n            \"by_status\": {\n                \"pending\": 1,\n                \"provisioning\": 0,\n                \"active\": 5,\n                \"suspending\": 0,\n                \"suspended\": 1,\n                \"unsuspending\": 0,\n                \"failed\": 0\n            }\n        },\n        \"total_sites\": 4,\n        \"pending_sites\": 0,\n        \"total_environments\": 7,\n        \"production_environments\": 3,\n        \"deployments_7d\": 12,\n        \"failed_deployments_7d\": 1,\n        \"active_backups\": 4,\n        \"recent_activity\": [],\n        \"recent_deployments\": []\n    },\n    \"message\": \"Account summary retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        }
                    ]
                },
                {
                    "name": "Update Account Settings",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/account",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/account"
                        },
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"external_customer_url\":\"https:\\\/\\\/myapp.com\\\/customers\\\/YOUR_ID\"}"
                        },
                        "description": "Update partner-level configuration on the authenticated account. The most\nimportant setting today is `external_customer_url`, a URL template containing\nthe literal token `YOUR_ID`. When a site's `your_customer_id` is rendered in\nthe Vector Pro control panel, that token is substituted with the value and\nthe customer ID is shown as a link to the partner's own system.\n\nOn success this endpoint returns the same shape as `GET \/vector\/account` so\nclients can refresh their cached account state in a single round trip."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"owner\": {\"name\": \"John Doe\", \"email\": \"user@example.com\"},\n        \"account\": {\"name\": \"My Account\", \"company\": \"Acme Corp\"},\n        \"partner\": {\"external_customer_url\": \"https:\/\/myapp.com\/customers\/YOUR_ID\"},\n        \"cluster\": null,\n        \"domains\": [],\n        \"sites\": {\"total\": 0, \"by_status\": {}},\n        \"environments\": {\"total\": 0, \"by_status\": {}}\n    },\n    \"message\": \"Account updated successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"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.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "SSH Keys",
                    "description": "Manage account-level default SSH keys. These keys serve as templates that are\nautomatically installed on new dev sites when they are created.\n\n**Important**: Changes to account-level keys do not affect existing sites.\nTo add or remove keys from an existing site, use the site-specific SSH key\nendpoints instead.",
                    "item": [
                        {
                            "name": "List SSH Keys",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/ssh-keys",
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "25",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination. Default: 1.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/ssh-keys?per_page=25&page=1"
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a paginated list of account-level default SSH keys. These are\ntemplate keys that will be installed on new dev sites."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n            \"account_id\": 1,\n            \"vector_site_id\": null,\n            \"name\": \"deploy key\",\n            \"fingerprint\": \"SHA256:abc123def456...\",\n            \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n            \"is_account_default\": true,\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"SSH keys retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                }
                            ]
                        },
                        {
                            "name": "Get SSH Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/ssh-keys\/:key",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/ssh-keys\/:key",
                                    "variable": [
                                        {
                                            "id": "key",
                                            "key": "key",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                            "description": "The SSH key ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves details of a specific account-level SSH key."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n        \"account_id\": 1,\n        \"vector_site_id\": null,\n        \"name\": \"deploy key\",\n        \"fingerprint\": \"SHA256:abc123def456...\",\n        \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n        \"is_account_default\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSH key retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"SSH key not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create SSH Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/ssh-keys",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/ssh-keys"
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"deploy key\",\"public_key\":\"ssh-rsa AAAAB3NzaC1yc2EA... user@host\"}"
                                },
                                "description": "Creates a new account-level default SSH key. This key will be automatically\ninstalled on any new dev sites created after this point.\n\n**Note**: This does not affect existing sites. To add a key to an existing\nsite, use the site-specific SSH key endpoint."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n        \"account_id\": 1,\n        \"vector_site_id\": null,\n        \"name\": \"deploy key\",\n        \"fingerprint\": \"SHA256:abc123def456...\",\n        \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n        \"is_account_default\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSH key created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"public_key\": [\"Unable to parse SSH public key. Ensure it is in valid OpenSSH format.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Invalid Key"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"public_key\": [\"An SSH key with this fingerprint already exists for this account.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Duplicate Key"
                                }
                            ]
                        },
                        {
                            "name": "Delete SSH Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/ssh-keys\/:key",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/ssh-keys\/:key",
                                    "variable": [
                                        {
                                            "id": "key",
                                            "key": "key",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                            "description": "The SSH key ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Deletes an account-level default SSH key. This does not remove the key\nfrom any existing sites where it has already been installed."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n        \"account_id\": 1,\n        \"vector_site_id\": null,\n        \"name\": \"deploy key\",\n        \"fingerprint\": \"SHA256:abc123def456...\",\n        \"public_key_preview\": \"ssh-rsa AAAAB3NzaC1yc2EA...user@host\",\n        \"is_account_default\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"SSH key deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"SSH key not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "API Keys",
                    "description": "Manage API access tokens for authentication. Tokens provide Bearer token\nauthentication for all API requests.\n\nThe plain text token is returned only once when created - store it securely\nas it cannot be retrieved again. Tokens can be revoked at any time.",
                    "item": [
                        {
                            "name": "List API Keys",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/api-keys",
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "25",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination. Default: 1.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/api-keys?per_page=25&page=1"
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a paginated list of API keys for the authenticated user.\nToken values are never returned - only metadata like name, creation date,\nand last used timestamp."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"name\": \"Production API Key\",\n            \"abilities\": [\"*\"],\n            \"last_used_at\": \"2025-01-15T12:00:00+00:00\",\n            \"expires_at\": null,\n            \"created_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"API keys retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                }
                            ]
                        },
                        {
                            "name": "Create API Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/api-keys",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/api-keys"
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"name\":\"Production API Key\",\"abilities\":[\"site:read\",\"site:write\"],\"expires_at\":\"2025-12-31T23:59:59+00:00\"}"
                                },
                                "description": "Creates a new API key for the authenticated user.\n\n> [!WARNING]\n> The API key is returned ONLY in this response. Store it securely\u2014it cannot be retrieved again.\n\nUse this token in the `Authorization` header for all API requests.\n\n##### Abilities\n\nAbilities control what operations the token can perform. Available abilities:\n\n- `*` - Full access (default)\n- `mcp` - Full MCP access (for AI assistants like Claude)\n- `account:read` - Read account information\n- `site:read` - Read sites, environments, deployments, database operations\n- `site:write` - Manage sites, environments, deployments, database import\/export\n- `domain:read` - Read domains\n- `domain:write` - Manage domains\n- `log:read` - Read site logs\n- `cdn:read` - Read CDN settings\n- `cdn:write` - Manage CDN settings and cache\n- `webhook:read` - Read webhooks\n- `webhook:write` - Manage webhooks\n- `secret:read` - Read API keys and global secrets\n- `secret:write` - Manage API keys and global secrets\n- `sshkey:read` - Read SSH keys\n- `sshkey:write` - Manage SSH keys\n- `events:read` - Read event logs"
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"name\": \"Production API Key\",\n        \"token\": \"1|a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd\",\n        \"abilities\": [\"*\"],\n        \"expires_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"API key created successfully. Store this token securely - it will not be shown again.\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"name\": [\"The name field is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Delete API Key",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/api-keys\/:token",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/api-keys\/:token",
                                    "variable": [
                                        {
                                            "id": "token",
                                            "key": "token",
                                            "value": "1",
                                            "description": "The API key ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Deletes an API key. You cannot delete the token currently being used\nfor authentication. This operation is irreversible."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"name\": \"Production API Key\",\n        \"abilities\": [\"*\"],\n        \"last_used_at\": \"2025-01-15T12:00:00+00:00\",\n        \"expires_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"API key deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Cannot delete the token currently in use\", \"http_status\": 403}",
                                    "name": "Cannot Delete Current Token"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"API key not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Secrets",
                    "description": "Manage account-level secrets and environment variables that are available to all\nsites within your account. These are injected during site deployment.\n\nGlobal secrets apply to all environments across all sites in your account. For\nenvironment-specific secrets, use the Environment Secrets API instead.\n\nItems with `is_secret=true` (the default) are stored in AWS Secrets Manager and their values\nare never returned in API responses. Items with `is_secret=false` are stored as Lambda\nenvironment variables and their values ARE returned in API responses.\n\nCertain keys are reserved for system use and cannot be used.",
                    "item": [
                        {
                            "name": "List Secrets",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/global-secrets",
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "10",
                                            "description": "Number of items per page (max 100). Default: 15.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "page",
                                            "value": "1",
                                            "description": "Page number for pagination.",
                                            "disabled": false
                                        }
                                    ],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/global-secrets?per_page=10&page=1"
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves a paginated list of all global secrets and environment variables for your account.\nValues are only included for environment variables (`is_secret=false`)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"key\": \"STRIPE_SECRET_KEY\",\n            \"is_secret\": true,\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        },\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n            \"key\": \"APP_ENV\",\n            \"is_secret\": false,\n            \"value\": \"production\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Global secrets retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                }
                            ]
                        },
                        {
                            "name": "Get Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/global-secrets\/:secret",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/global-secrets\/:secret",
                                    "variable": [
                                        {
                                            "id": "secret",
                                            "key": "secret",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The secret ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves details of a specific global secret or environment variable.\nThe value is only included for environment variables (`is_secret=false`)."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_SECRET_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Global secret retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Secret"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdf\",\n        \"key\": \"APP_ENV\",\n        \"is_secret\": false,\n        \"value\": \"production\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Global secret retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Environment Variable"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Global secret not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/global-secrets",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/global-secrets"
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"key\":\"STRIPE_SECRET_KEY\",\"value\":\"sk_live_xxxx\",\"is_secret\":true}"
                                },
                                "description": "Creates a new global secret or environment variable for your account. It will be available\nto all sites within your account during deployment.\n\nSet `is_secret` to `false` to create a plain environment variable instead of a secret.\nEnvironment variables are stored as Lambda env vars (cheaper) and their values are\nreturned in API responses. Secrets are stored in AWS Secrets Manager and their values\nare never returned.\n\nThe following keys are reserved and cannot be used:\n<kbd>AUTH_KEY<\/kbd>, <kbd>SECURE_AUTH_KEY<\/kbd>, <kbd>LOGGED_IN_KEY<\/kbd>, <kbd>NONCE_KEY<\/kbd>, <kbd>AUTH_SALT<\/kbd>, <kbd>SECURE_AUTH_SALT<\/kbd>, <kbd>LOGGED_IN_SALT<\/kbd>, <kbd>NONCE_SALT<\/kbd>, <kbd>AUTOMATIC_UPDATER_DISABLED<\/kbd>, <kbd>DISABLE_WP_CRON<\/kbd>, <kbd>DISALLOW_FILE_EDIT<\/kbd>, <kbd>DISALLOW_FILE_MODS<\/kbd>, <kbd>DOMAIN_CURRENT_SITE<\/kbd>, <kbd>WP_HOME<\/kbd>, <kbd>WP_SITEURL<\/kbd>, <kbd>YMIR_ASSETS_PATH<\/kbd>, <kbd>YMIR_ASSETS_URL<\/kbd>, <kbd>YMIR_CACHE_PREFIX<\/kbd>, <kbd>YMIR_CACHE_TABLE<\/kbd>, <kbd>YMIR_CDN_IMAGE_PROCESSING_ENABLED<\/kbd>, <kbd>YMIR_DISTRIBUTION_ID<\/kbd>, <kbd>YMIR_DOMAIN_NAMES<\/kbd>, <kbd>YMIR_ENVIRONMENT<\/kbd>, <kbd>YMIR_MAX_EXECUTION_TIME<\/kbd>, <kbd>YMIR_PRIMARY_DOMAIN_NAME<\/kbd>, <kbd>YMIR_PROJECT_TYPE<\/kbd>, <kbd>YMIR_PUBLIC_STORE<\/kbd>, <kbd>YMIR_REDIS_ENDPOINT<\/kbd>, <kbd>YMIR_SECRETS_PATH<\/kbd>, <kbd>YMIR_UPLOAD_URL<\/kbd>, <kbd>_HANDLER<\/kbd>, <kbd>AWS_ACCESS_KEY_ID<\/kbd>, <kbd>AWS_EXECUTION_ENV<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_MEMORY_SIZE<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_NAME<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_VERSION<\/kbd>, <kbd>AWS_LAMBDA_LOG_GROUP_NAME<\/kbd>, <kbd>AWS_LAMBDA_LOG_STREAM_NAME<\/kbd>, <kbd>AWS_LAMBDA_RUNTIME_API<\/kbd>, <kbd>AWS_REGION<\/kbd>, <kbd>AWS_SECRET_ACCESS_KEY<\/kbd>, <kbd>AWS_SESSION_TOKEN<\/kbd>, <kbd>LAMBDA_RUNTIME_DIR<\/kbd>, <kbd>LAMBDA_TASK_ROOT<\/kbd>, <kbd>TZ<\/kbd>"
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 201,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_SECRET_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Global secret created successfully\",\n    \"http_status\": 201\n}",
                                    "name": "Created"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"key\": [\"The secret key is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Update Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/global-secrets\/:secret",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/global-secrets\/:secret",
                                    "variable": [
                                        {
                                            "id": "secret",
                                            "key": "secret",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The secret ID."
                                        }
                                    ]
                                },
                                "method": "PUT",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"key\":\"STRIPE_API_KEY\",\"value\":\"sk_live_yyyy\",\"is_secret\":true}"
                                },
                                "description": "Updates an existing global secret or environment variable. You can update the key, value,\nis_secret flag, or any combination.\n\nThe following keys are reserved and cannot be used:\n<kbd>AUTH_KEY<\/kbd>, <kbd>SECURE_AUTH_KEY<\/kbd>, <kbd>LOGGED_IN_KEY<\/kbd>, <kbd>NONCE_KEY<\/kbd>, <kbd>AUTH_SALT<\/kbd>, <kbd>SECURE_AUTH_SALT<\/kbd>, <kbd>LOGGED_IN_SALT<\/kbd>, <kbd>NONCE_SALT<\/kbd>, <kbd>AUTOMATIC_UPDATER_DISABLED<\/kbd>, <kbd>DISABLE_WP_CRON<\/kbd>, <kbd>DISALLOW_FILE_EDIT<\/kbd>, <kbd>DISALLOW_FILE_MODS<\/kbd>, <kbd>DOMAIN_CURRENT_SITE<\/kbd>, <kbd>WP_HOME<\/kbd>, <kbd>WP_SITEURL<\/kbd>, <kbd>YMIR_ASSETS_PATH<\/kbd>, <kbd>YMIR_ASSETS_URL<\/kbd>, <kbd>YMIR_CACHE_PREFIX<\/kbd>, <kbd>YMIR_CACHE_TABLE<\/kbd>, <kbd>YMIR_CDN_IMAGE_PROCESSING_ENABLED<\/kbd>, <kbd>YMIR_DISTRIBUTION_ID<\/kbd>, <kbd>YMIR_DOMAIN_NAMES<\/kbd>, <kbd>YMIR_ENVIRONMENT<\/kbd>, <kbd>YMIR_MAX_EXECUTION_TIME<\/kbd>, <kbd>YMIR_PRIMARY_DOMAIN_NAME<\/kbd>, <kbd>YMIR_PROJECT_TYPE<\/kbd>, <kbd>YMIR_PUBLIC_STORE<\/kbd>, <kbd>YMIR_REDIS_ENDPOINT<\/kbd>, <kbd>YMIR_SECRETS_PATH<\/kbd>, <kbd>YMIR_UPLOAD_URL<\/kbd>, <kbd>_HANDLER<\/kbd>, <kbd>AWS_ACCESS_KEY_ID<\/kbd>, <kbd>AWS_EXECUTION_ENV<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_MEMORY_SIZE<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_NAME<\/kbd>, <kbd>AWS_LAMBDA_FUNCTION_VERSION<\/kbd>, <kbd>AWS_LAMBDA_LOG_GROUP_NAME<\/kbd>, <kbd>AWS_LAMBDA_LOG_STREAM_NAME<\/kbd>, <kbd>AWS_LAMBDA_RUNTIME_API<\/kbd>, <kbd>AWS_REGION<\/kbd>, <kbd>AWS_SECRET_ACCESS_KEY<\/kbd>, <kbd>AWS_SESSION_TOKEN<\/kbd>, <kbd>LAMBDA_RUNTIME_DIR<\/kbd>, <kbd>LAMBDA_TASK_ROOT<\/kbd>, <kbd>TZ<\/kbd>"
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_API_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Global secret updated successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Global secret not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                },
                                {
                                    "header": [],
                                    "code": 422,
                                    "body": "{\n    \"data\": {},\n    \"errors\": {\"key\": [\"The secret key must start with a letter and contain only uppercase letters, numbers, and underscores.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                                    "name": "Validation Error"
                                }
                            ]
                        },
                        {
                            "name": "Delete Secret",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/global-secrets\/:secret",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/global-secrets\/:secret",
                                    "variable": [
                                        {
                                            "id": "secret",
                                            "key": "secret",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                            "description": "The secret ID."
                                        }
                                    ]
                                },
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Deletes a global secret from your account."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"key\": \"STRIPE_SECRET_KEY\",\n        \"is_secret\": true,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Global secret deleted successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Success"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Global secret not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "Authentication",
            "description": "",
            "item": [
                {
                    "name": "Get authenticated user details",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/auth\/whoami",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/auth\/whoami"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the current user, active API token, and current account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"user\": {\n            \"id\": 1,\n            \"name\": \"John Doe\",\n            \"email\": \"john@example.com\"\n        },\n        \"token\": {\n            \"name\": \"vector-cli\",\n            \"abilities\": [\"*\"],\n            \"expires_at\": null,\n            \"last_used_at\": \"2026-03-14T12:00:00.000000Z\"\n        },\n        \"account\": {\n            \"id\": 1,\n            \"name\": \"Acme Inc\"\n        }\n    },\n    \"message\": \"Success\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\n    \"message\": \"Unauthenticated.\"\n}",
                            "name": "Unauthenticated"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Backups",
            "description": "",
            "item": [
                {
                    "name": "List Backups",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/backups",
                            "query": [
                                {
                                    "key": "type",
                                    "value": "site",
                                    "description": "Filter by archivable type (site, environment).",
                                    "disabled": false
                                },
                                {
                                    "key": "site_id",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "Filter by site ID. Returns backups for the site and all of its environments.",
                                    "disabled": false
                                },
                                {
                                    "key": "environment_id",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "Filter by environment ID.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/backups?type=site&site_id=01jfgxk4nqrst5vwx9yz0abcde&environment_id=01jfgxk4nqrst5vwx9yz0abcde&per_page=25&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of backups, optionally filtered by type, site, or environment."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"archivable_type\": \"vector_site\",\n            \"archivable_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"type\": \"manual\",\n            \"type_label\": \"Manual\",\n            \"scope\": \"full\",\n            \"scope_label\": \"Full\",\n            \"status\": \"completed\",\n            \"status_label\": \"Completed\",\n            \"description\": \"Pre-deployment backup\",\n            \"file_snapshot_id\": \"abc123def456\",\n            \"database_snapshot_id\": \"ghi789jkl012\",\n            \"started_at\": \"2025-01-15T12:00:00+00:00\",\n            \"completed_at\": \"2025-01-15T12:00:00+00:00\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Backups retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        }
                    ]
                },
                {
                    "name": "Get Backup",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/backups\/:backup",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/backups\/:backup",
                            "variable": [
                                {
                                    "id": "backup",
                                    "key": "backup",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                    "description": "The backup ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves details of a specific backup."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"archivable_type\": \"vector_site\",\n        \"archivable_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"type\": \"manual\",\n        \"type_label\": \"Manual\",\n        \"scope\": \"full\",\n        \"scope_label\": \"Full\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"description\": \"Pre-deployment backup\",\n        \"file_snapshot_id\": \"abc123def456\",\n        \"database_snapshot_id\": \"ghi789jkl012\",\n        \"started_at\": \"2025-01-15T12:00:00+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:00+00:00\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Backup retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Backup not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "Backup Downloads",
                    "description": "Manage backup download requests. When a download is\nrequested, an async job archives the backup snapshots and uploads the archive to S3. Once\ncomplete, a presigned download URL is available for a limited time.\n\n#### Download Status Lifecycle\n\n- `pending` - Download record created, waiting for ECS task to start\n- `processing` - ECS task is archiving the backup snapshots\n- `completed` - Archive uploaded to S3, presigned URL available\n- `failed` - Download failed (see error_message for details)",
                    "item": [
                        {
                            "name": "Get Backup Download",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/backups\/:backup\/downloads\/:download",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/backups\/:backup\/downloads\/:download",
                                    "variable": [
                                        {
                                            "id": "backup",
                                            "key": "backup",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The backup ID."
                                        },
                                        {
                                            "id": "download",
                                            "key": "download",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                            "description": "The download ID."
                                        }
                                    ]
                                },
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Retrieves the status of a backup download. If the download is complete and\nnot expired, includes a presigned download URL."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_backup_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"s3_key\": \"backups\/downloads\/01jfgxk4nqrst5vwx9yz0abcdh.tar.gz\",\n        \"size_bytes\": 52428800,\n        \"duration_ms\": 12500,\n        \"error_message\": null,\n        \"download_url\": \"https:\/\/s3.amazonaws.com\/bucket\/backups\/downloads\/01jfgxk4nqrst5vwx9yz0abcdh.tar.gz?presigned=...\",\n        \"download_expires_at\": \"2025-01-15T12:00:00+00:00\",\n        \"started_at\": \"2025-01-15T12:00:00+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:00+00:00\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Backup download retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Completed"
                                },
                                {
                                    "header": [],
                                    "code": 200,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_backup_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"status\": \"processing\",\n        \"status_label\": \"Processing\",\n        \"s3_key\": null,\n        \"size_bytes\": null,\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"download_url\": null,\n        \"download_expires_at\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Backup download retrieved successfully\",\n    \"http_status\": 200\n}",
                                    "name": "Pending"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Backup download not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        },
                        {
                            "name": "Create Backup Download",
                            "request": {
                                "url": {
                                    "host": "{{baseUrl}}",
                                    "path": "api\/v1\/vector\/backups\/:backup\/downloads",
                                    "query": [],
                                    "raw": "{{baseUrl}}\/api\/v1\/vector\/backups\/:backup\/downloads",
                                    "variable": [
                                        {
                                            "id": "backup",
                                            "key": "backup",
                                            "value": "01jfgxk4nqrst5vwx9yz0abcdg",
                                            "description": "The backup ID."
                                        }
                                    ]
                                },
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application\/json"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application\/json"
                                    }
                                ],
                                "body": null,
                                "description": "Creates a new download request for the specified backup. The download is created with a\n`pending` status and an async job is dispatched to archive the backup snapshots."
                            },
                            "response": [
                                {
                                    "header": [],
                                    "code": 202,
                                    "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"vector_backup_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"s3_key\": null,\n        \"size_bytes\": null,\n        \"duration_ms\": null,\n        \"error_message\": null,\n        \"download_url\": null,\n        \"download_expires_at\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Backup download initiated\",\n    \"http_status\": 202\n}",
                                    "name": "Accepted"
                                },
                                {
                                    "header": [],
                                    "code": 401,
                                    "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                                    "name": "Unauthenticated"
                                },
                                {
                                    "header": [],
                                    "code": 403,
                                    "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                                    "name": "Unauthorized"
                                },
                                {
                                    "header": [],
                                    "code": 404,
                                    "body": "{\"data\": {}, \"message\": \"Backup not found\", \"http_status\": 404}",
                                    "name": "Not Found"
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "Create Backup",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/backups",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/backups"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"site_id\":\"01jfgxk4nqrst5vwx9yz0abcde\",\"environment_id\":\"01jfgxk4nqrst5vwx9yz0abcde\",\"type\":\"manual\",\"scope\":\"full\",\"description\":\"Pre-deployment backup\"}"
                        },
                        "description": "Creates a new backup for the specified site or environment. The backup is created with a\n`pending` status and an async job is dispatched to orchestrate the restic backup via an\nECS task."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"archivable_type\": \"vector_site\",\n        \"archivable_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"type\": \"manual\",\n        \"type_label\": \"Manual\",\n        \"scope\": \"full\",\n        \"scope_label\": \"Full\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"description\": \"Pre-deployment backup\",\n        \"file_snapshot_id\": null,\n        \"database_snapshot_id\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Backup initiated successfully\",\n    \"http_status\": 202\n}",
                            "name": "Accepted"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"site_id\": [\"Either a site ID or environment ID is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Events",
            "description": "\nView event logs for Vector Pro resources. Events are logged automatically when\nactions occur (site creation, deployments, etc.) and are retained for 90 days.\n\nEvent logs provide an audit trail of all activity in your account.\n\n#### Actor Tracking\n\nEach event includes an `actor` object when the action was triggered via the API:\n- `ip` - The IP address of the request\n- `token_name` - The name of the API token used\n\nThe `actor` field is omitted for events triggered by system processes (scheduled tasks,\nqueue workers processing internal jobs, etc.) where no user context exists.\n\n#### Event Naming Convention\n\nEvents follow a consistent dot-notation pattern:\n- Simple actions: `{entity}.{action}` (e.g., `site.created`, `site.updated`)\n- Lifecycle operations: `{entity}.{operation}.{phase}` (e.g., `site.provisioning.started`)\n\n#### Available Event Types\n\n##### Site Events\n\n| Event | Description |\n|-------|-------------|\n| `site.created` | Site record has been created |\n| `site.updated` | Site settings have been modified |\n| `site.cloned` | Site has been cloned from another site |\n| `site.provisioning.started` | Container provisioning has started |\n| `site.provisioning.completed` | Site is fully provisioned and running |\n| `site.provisioning.failed` | Site provisioning failed |\n| `site.suspension.started` | Site suspension has started |\n| `site.suspension.completed` | Site has been suspended |\n| `site.unsuspension.started` | Site unsuspension has started |\n| `site.unsuspension.completed` | Site has been unsuspended |\n| `site.termination.started` | Site termination has started |\n| `site.termination.completed` | Site has been terminated |\n| `site.sftp.password.reset` | SFTP password has been reset |\n| `site.database.password.reset` | Database password has been reset |\n| `site.sshkey.added` | SSH key has been added to site |\n| `site.sshkey.removed` | SSH key has been removed from site |\n| `site.database.import.started` | Database import has started |\n| `site.database.import.completed` | Database import completed successfully |\n| `site.database.import.failed` | Database import failed |\n| `site.database.export.started` | Database export has started |\n| `site.database.export.completed` | Database export completed successfully |\n| `site.database.export.failed` | Database export failed |\n\n##### SSH Key Events\n\n| Event | Description |\n|-------|-------------|\n| `sshkey.created` | SSH key has been created |\n| `sshkey.deleted` | SSH key has been deleted |\n\n##### Environment Events\n\n| Event | Description |\n|-------|-------------|\n| `environment.created` | Production environment has been created |\n| `environment.updated` | Environment settings have been modified |\n| `environment.provisioning.started` | Environment provisioning has started |\n| `environment.provisioning.completed` | Environment is fully provisioned |\n| `environment.provisioning.failed` | Environment provisioning failed |\n| `environment.suspension.started` | Environment suspension has started |\n| `environment.suspension.completed` | Environment has been suspended |\n| `environment.unsuspension.started` | Environment unsuspension has started |\n| `environment.unsuspension.completed` | Environment has been unsuspended |\n| `environment.termination.started` | Environment termination has started |\n| `environment.termination.completed` | Environment has been terminated |\n| `environment.database.password.reset` | Database password has been reset |\n\n##### Deployment Events\n\n| Event | Description |\n|-------|-------------|\n| `deployment.started` | Deployment to production has started |\n| `deployment.completed` | Deployment completed successfully |\n| `deployment.failed` | Deployment failed |\n| `deployment.rollback.started` | Deployment rollback has started |\n| `deployment.rollback.completed` | Deployment rollback completed |\n| `deployment.rollback.failed` | Deployment rollback failed |\n\n##### CDN Events\n\n| Event | Description |\n|-------|-------------|\n| `cdn.setup.started` | CDN configuration has started |\n| `cdn.setup.completed` | CDN setup completed successfully |\n| `cdn.setup.failed` | CDN setup failed |\n\n##### DNS Events\n\n| Event | Description |\n|-------|-------------|\n| `dns.record.created` | DNS record has been created |\n| `dns.record.deleted` | DNS record has been deleted |\n\n##### WAF Events\n\n| Event | Description |\n|-------|-------------|\n| `waf.ratelimit.created` | Rate limit rule has been created |\n| `waf.ratelimit.updated` | Rate limit rule has been updated |\n| `waf.ratelimit.deleted` | Rate limit rule has been deleted |\n| `waf.blockedip.created` | IP block has been created |\n| `waf.blockedip.deleted` | IP block has been removed |\n| `waf.blockedreferrer.created` | Referrer block has been created |\n| `waf.blockedreferrer.deleted` | Referrer block has been removed |\n| `waf.allowedreferrer.created` | Allowed referrer has been added |\n| `waf.allowedreferrer.deleted` | Allowed referrer has been removed |\n\n##### Secret Events\n\n| Event | Description |\n|-------|-------------|\n| `secret.created` | Secret has been created |\n| `secret.updated` | Secret has been updated |\n| `secret.deleted` | Secret has been deleted |\n\n##### Domain Events\n\n| Event | Description |\n|-------|-------------|\n| `domain.created` | Domain has been registered |\n| `domain.deleted` | Domain has been deleted |\n\n##### API Key Events\n\n| Event | Description |\n|-------|-------------|\n| `apikey.created` | API key has been created |\n| `apikey.deleted` | API key has been deleted |\n\n##### Webhook Events\n\n| Event | Description |\n|-------|-------------|\n| `webhook.created` | Webhook endpoint has been registered |\n| `webhook.updated` | Webhook configuration has been modified |\n| `webhook.deleted` | Webhook endpoint has been removed |\n\n##### Cache Events\n\n| Event | Description |\n|-------|-------------|\n| `cache.purged` | Cache has been purged |",
            "item": [
                {
                    "name": "List Events",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/events",
                            "query": [
                                {
                                    "key": "from",
                                    "value": "2025-01-01T00%3A00%3A00%2B00%3A00",
                                    "description": "Filter events that occurred on or after this timestamp (ISO 8601).",
                                    "disabled": false
                                },
                                {
                                    "key": "to",
                                    "value": "2025-01-31T23%3A59%3A59%2B00%3A00",
                                    "description": "Filter events that occurred on or before this timestamp (ISO 8601).",
                                    "disabled": false
                                },
                                {
                                    "key": "event",
                                    "value": "site.provisioning.completed%2Cdeployment.completed",
                                    "description": "Filter by event type(s). Accepts a single event or comma-separated list.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/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"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of event logs for the authenticated account.\nLogs are returned in reverse chronological order (newest first).\n\nEvent logs are automatically pruned after 90 days."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdl\",\n            \"event\": \"site.provisioning.completed\",\n            \"model_type\": \"VectorSite\",\n            \"model_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"context\": null,\n            \"actor\": {\n                \"id\": 1,\n                \"ip\": \"192.0.2.1\",\n                \"token_id\": 1,\n                \"token_name\": \"Production API Key\"\n            },\n            \"occurred_at\": \"2025-01-15T12:00:00+00:00\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Event logs retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        }
                    ]
                }
            ]
        },
        {
            "name": "PHP Versions",
            "description": "\nGet available PHP versions for Vector environments.",
            "item": [
                {
                    "name": "List PHP Versions",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/php-versions",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/php-versions"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a list of all available PHP versions for Vector environments.\n\nCurrently supported versions: 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5"
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\"value\": \"7.2\", \"label\": \"PHP 7.2\"},\n        {\"value\": \"7.3\", \"label\": \"PHP 7.3\"},\n        {\"value\": \"7.4\", \"label\": \"PHP 7.4\"},\n        {\"value\": \"8.0\", \"label\": \"PHP 8.0\"},\n        {\"value\": \"8.1\", \"label\": \"PHP 8.1\"},\n        {\"value\": \"8.2\", \"label\": \"PHP 8.2\"},\n        {\"value\": \"8.3\", \"label\": \"PHP 8.3\"},\n        {\"value\": \"8.4\", \"label\": \"PHP 8.4\"},\n        {\"value\": \"8.5\", \"label\": \"PHP 8.5\"}\n    ],\n    \"message\": \"PHP versions retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Restores",
            "description": "",
            "item": [
                {
                    "name": "List Restores",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/restores",
                            "query": [
                                {
                                    "key": "type",
                                    "value": "site",
                                    "description": "Filter by archivable type (site, environment).",
                                    "disabled": false
                                },
                                {
                                    "key": "site_id",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "Filter by site ID.",
                                    "disabled": false
                                },
                                {
                                    "key": "environment_id",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "Filter by environment ID.",
                                    "disabled": false
                                },
                                {
                                    "key": "backup_id",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcde",
                                    "description": "Filter by backup ID.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/restores?type=site&site_id=01jfgxk4nqrst5vwx9yz0abcde&environment_id=01jfgxk4nqrst5vwx9yz0abcde&backup_id=01jfgxk4nqrst5vwx9yz0abcde&per_page=25&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of restores, optionally filtered by type, site, environment,\nor backup."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n            \"archivable_type\": \"vector_site\",\n            \"archivable_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n            \"scope\": \"full\",\n            \"scope_label\": \"Full\",\n            \"trigger\": \"manual\",\n            \"trigger_label\": \"Manual\",\n            \"status\": \"completed\",\n            \"status_label\": \"Completed\",\n            \"vector_backup_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n            \"search_replace\": null,\n            \"drop_tables\": false,\n            \"disable_foreign_keys\": false,\n            \"error_message\": null,\n            \"duration_ms\": 45200,\n            \"started_at\": \"2025-01-15T12:00:00+00:00\",\n            \"completed_at\": \"2025-01-15T12:00:00+00:00\",\n            \"created_at\": \"2025-01-15T12:00:00+00:00\",\n            \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Restores retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        }
                    ]
                },
                {
                    "name": "Get Restore",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/restores\/:restore",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/restores\/:restore",
                            "variable": [
                                {
                                    "id": "restore",
                                    "key": "restore",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdh",
                                    "description": "The restore ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves details of a specific restore."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"archivable_type\": \"vector_site\",\n        \"archivable_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"scope\": \"full\",\n        \"scope_label\": \"Full\",\n        \"trigger\": \"manual\",\n        \"trigger_label\": \"Manual\",\n        \"status\": \"completed\",\n        \"status_label\": \"Completed\",\n        \"vector_backup_id\": \"01jfgxk4nqrst5vwx9yz0abcdg\",\n        \"search_replace\": [{\"from\": \"example.org\", \"to\": \"example.com\"}],\n        \"drop_tables\": false,\n        \"disable_foreign_keys\": false,\n        \"error_message\": null,\n        \"duration_ms\": 45200,\n        \"started_at\": \"2025-01-15T12:00:00+00:00\",\n        \"completed_at\": \"2025-01-15T12:00:00+00:00\",\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Restore retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Restore not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "Create Restore",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/restores",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/restores"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"backup_id\":\"01jfgxk4nqrst5vwx9yz0abcdi\",\"scope\":\"full\",\"search_replace\":[{\"from\":\"example.org\",\"to\":\"example.com\"}],\"drop_tables\":false,\"disable_foreign_keys\":false}"
                        },
                        "description": "Creates a new restore from a previously completed backup. The archivable (site or\nenvironment) is inferred from the backup. The restore is created with a `pending`\nstatus and an async job is dispatched to orchestrate the restic restore via an ECS task."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n    \"data\": {\n        \"id\": \"01jfgxk4nqrst5vwx9yz0abcdh\",\n        \"archivable_type\": \"vector_site\",\n        \"archivable_id\": \"01jfgxk4nqrst5vwx9yz0abcde\",\n        \"scope\": \"full\",\n        \"scope_label\": \"Full\",\n        \"trigger\": \"manual\",\n        \"trigger_label\": \"Manual\",\n        \"status\": \"pending\",\n        \"status_label\": \"Pending\",\n        \"vector_backup_id\": \"01jfgxk4nqrst5vwx9yz0abcdi\",\n        \"search_replace\": [{\"from\": \"example.org\", \"to\": \"example.com\"}],\n        \"drop_tables\": false,\n        \"disable_foreign_keys\": false,\n        \"error_message\": null,\n        \"duration_ms\": null,\n        \"started_at\": null,\n        \"completed_at\": null,\n        \"created_at\": \"2025-01-15T12:00:00+00:00\",\n        \"updated_at\": \"2025-01-15T12:00:00+00:00\"\n    },\n    \"message\": \"Restore initiated successfully\",\n    \"http_status\": 202\n}",
                            "name": "Accepted"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"backup_id\": [\"A backup ID is required.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Webhooks",
            "description": "\nManage webhooks that receive site event notifications. Webhooks are called when\nevents occur on your sites (deployments, status changes, etc.).\n\nSupports both HTTP webhooks and Slack webhooks for notifications.\n\n#### Webhook Signature Verification\n\nHTTP webhook payloads include an `X-Vector-Signature` header for verifying\nauthenticity. The header format is:\n\n```\nX-Vector-Signature: t=1234567890,v1=abc123...\n```\n\nTo verify a webhook:\n\n1. Parse the timestamp (`t`) and signature (`v1`) from the header\n2. Construct the signed message: `{timestamp}.{raw_request_body}`\n3. Compute HMAC-SHA256 using your webhook secret as the key\n4. Compare with the provided signature using constant-time comparison\n5. Validate timestamp is within tolerance (recommended: 5 minutes)\n\nExample verification (PHP):\n\n```php\n$header = $request->header('X-Vector-Signature');\npreg_match('\/t=(\\d+),v1=([a-f0-9]+)\/', $header, $matches);\n$timestamp = $matches[1];\n$signature = $matches[2];\n\n$message = $timestamp . '.' . $request->getContent();\n$expected = hash_hmac('sha256', $message, $webhookSecret);\n\nif (!hash_equals($expected, $signature)) {\n    throw new Exception('Invalid signature');\n}\n\nif (abs(time() - (int)$timestamp) > 300) {\n    throw new Exception('Timestamp too old');\n}\n```",
            "item": [
                {
                    "name": "List Webhooks",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks?per_page=25&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of all webhooks for the authenticated account.\nWebhook secrets are never included in list responses."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n            \"account_id\": 1,\n            \"type\": \"http\",\n            \"type_label\": \"Http\",\n            \"url\": \"https:\/\/example.com\/webhook\",\n            \"events\": [\"site.created\", \"deployment.completed\"],\n            \"enabled\": true,\n            \"created_at\": \"2025-05-27T09:50:21+00:00\",\n            \"updated_at\": \"2025-05-27T09:50:21+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Webhooks retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        }
                    ]
                },
                {
                    "name": "Get Webhook",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks\/:webhook",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks\/:webhook",
                            "variable": [
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                    "description": "The webhook ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves details of a specific webhook. The secret is never included\nin this response - use the rotate-secret endpoint if you need a new secret."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n        \"account_id\": 1,\n        \"type\": \"http\",\n        \"type_label\": \"Http\",\n        \"url\": \"https:\/\/example.com\/webhook\",\n        \"events\": [\"site.created\", \"deployment.completed\"],\n        \"enabled\": true,\n        \"created_at\": \"2025-05-27T09:50:21+00:00\",\n        \"updated_at\": \"2025-05-27T09:50:21+00:00\"\n    },\n    \"message\": \"Webhook retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Webhook not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "List Logs",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks\/:webhook\/logs",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "25",
                                    "description": "Number of items per page (max 100). Default: 15.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number for pagination. Default: 1.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks\/:webhook\/logs?per_page=25&page=1",
                            "variable": [
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                    "description": "The webhook ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves a paginated list of delivery logs for a specific webhook.\nLogs are returned in reverse chronological order (newest first).\n\nEach log entry includes the event type, request payload, response details,\nand latency information. Logs are automatically pruned after 90 days."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": [\n        {\n            \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDJ\",\n            \"vector_webhook_delivery_id\": \"01JFGXK4NQRST5VWX9YZ0ABCDK\",\n            \"vector_webhook_id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n            \"event\": \"vector.site.created\",\n            \"request_body\": {\"event\": \"vector.site.created\", \"data\": {}},\n            \"attempt\": 1,\n            \"response_status\": 200,\n            \"response_body\": \"{\\\"success\\\": true}\",\n            \"response_headers\": {\"content-type\": \"application\/json\"},\n            \"latency_ms\": 150,\n            \"created_at\": \"2025-05-27T09:50:21+00:00\"\n        }\n    ],\n    \"links\": {},\n    \"meta\": {},\n    \"message\": \"Webhook logs retrieved successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Webhook not found\", \"http_status\": 404}",
                            "name": "Webhook Not Found"
                        }
                    ]
                },
                {
                    "name": "Create Webhook",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"type\":\"http\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"events\":[\"site.created\",\"deployment.completed\"],\"enabled\":true}"
                        },
                        "description": "Creates a new webhook for the current account.\n\n> [!WARNING]\n> For HTTP webhooks, the secret is returned ONLY in this response. Store it securely\u2014it cannot be retrieved again (only rotated via the rotate-secret endpoint).\n\nSlack webhooks do not require secrets as they use URL-based authentication."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n    \"data\": {\n        \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n        \"account_id\": 1,\n        \"type\": \"http\",\n        \"type_label\": \"Http\",\n        \"url\": \"https:\/\/example.com\/webhook\",\n        \"events\": [\"site.created\", \"deployment.completed\"],\n        \"secret\": \"a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd\",\n        \"enabled\": true,\n        \"created_at\": \"2025-05-27T09:50:21+00:00\",\n        \"updated_at\": \"2025-05-27T09:50:21+00:00\"\n    },\n    \"message\": \"Webhook created successfully. Store the secret securely - it will not be shown again.\",\n    \"http_status\": 201\n}",
                            "name": "HTTP Webhook Created"
                        },
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n    \"data\": {\n        \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n        \"account_id\": 1,\n        \"type\": \"slack\",\n        \"type_label\": \"Slack\",\n        \"url\": \"https:\/\/hooks.slack.com\/services\/T00000000\/B00000000\/XXXXXXXXXXXXXXXXXXXXXXXX\",\n        \"events\": [\"deployment.completed\", \"deployment.failed\"],\n        \"enabled\": true,\n        \"created_at\": \"2025-05-27T09:50:21+00:00\",\n        \"updated_at\": \"2025-05-27T09:50:21+00:00\"\n    },\n    \"message\": \"Slack webhook created successfully.\",\n    \"http_status\": 201\n}",
                            "name": "Slack Webhook Created"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"events\": [\"At least one event must be specified.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Update Webhook",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks\/:webhook",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks\/:webhook",
                            "variable": [
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                    "description": "The webhook ID."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"url\":\"https:\\\/\\\/example.com\\\/new-webhook\",\"events\":[\"site.created\",\"site.updated\"],\"enabled\":false}"
                        },
                        "description": "Updates an existing webhook configuration. The secret cannot be updated\nthrough this endpoint - use the rotate-secret endpoint instead.\n\nThe webhook type cannot be changed after creation."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n        \"account_id\": 1,\n        \"type\": \"http\",\n        \"type_label\": \"Http\",\n        \"url\": \"https:\/\/example.com\/new-webhook\",\n        \"events\": [\"site.created\", \"site.updated\"],\n        \"enabled\": false,\n        \"created_at\": \"2025-05-27T09:50:21+00:00\",\n        \"updated_at\": \"2025-05-27T10:30:45+00:00\"\n    },\n    \"message\": \"Webhook updated successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Webhook not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n    \"data\": {},\n    \"errors\": {\"events\": [\"At least one event must be specified.\"]},\n    \"message\": \"Validation failed\",\n    \"http_status\": 422\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Delete Webhook",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks\/:webhook",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks\/:webhook",
                            "variable": [
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                    "description": "The webhook ID."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Deletes a webhook. All associated delivery logs will also be deleted.\nThis operation is irreversible."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"id\": \"01JFGXK4NQRST5VWX9YZ0ABCDI\",\n        \"account_id\": 1,\n        \"type\": \"http\",\n        \"type_label\": \"Http\",\n        \"url\": \"https:\/\/example.com\/webhook\",\n        \"events\": [\"site.created\"],\n        \"enabled\": true,\n        \"created_at\": \"2025-05-27T09:50:21+00:00\",\n        \"updated_at\": \"2025-05-27T09:50:21+00:00\"\n    },\n    \"message\": \"Webhook deleted successfully\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Webhook not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                },
                {
                    "name": "Rotate Secret",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/vector\/webhooks\/:webhook\/rotate-secret",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/vector\/webhooks\/:webhook\/rotate-secret",
                            "variable": [
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01jfgxk4nqrst5vwx9yz0abcdi",
                                    "description": "The webhook ID."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Generates a new secret for the webhook. The old secret is immediately\ninvalidated and any pending deliveries will use the new secret.\n\n> [!WARNING]\n> The new secret is returned ONLY in this response. Store it securely\u2014it cannot be retrieved again.\n\nThis endpoint is only available for HTTP webhooks. Slack webhooks do not\nuse secrets."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n    \"data\": {\n        \"secret\": \"a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd\"\n    },\n    \"message\": \"Webhook secret rotated successfully. Store the new secret securely - it will not be shown again.\",\n    \"http_status\": 200\n}",
                            "name": "Success"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"data\": {}, \"message\": \"Unauthenticated\", \"http_status\": 401}",
                            "name": "Unauthenticated"
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"data\": {}, \"message\": \"Unauthorized\", \"http_status\": 403}",
                            "name": "Unauthorized"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"data\": {}, \"message\": \"Webhook not found\", \"http_status\": 404}",
                            "name": "Not Found"
                        }
                    ]
                }
            ]
        }
    ],
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "Authorization",
                "type": "string"
            }
        ]
    }
}