Download OpenAPI specification:Download
The Vultr API v2 is a set of HTTP endpoints that adhere to RESTful design principles and CRUD actions with predictable URIs. It uses standard HTTP response codes, authentication, and verbs. The API has consistent and well-formed JSON requests and responses with cursor-based pagination to simplify list handling. Error messages are descriptive and easy to understand. All functions of the Vultr customer portal are accessible via the API, enabling you to script complex unattended scenarios with any tool fluent in HTTP.
Communicate with the API by making an HTTP request at the correct endpoint. The chosen method determines the action taken.
| Method | Usage |
|---|---|
| DELETE | Use the DELETE method to destroy a resource in your account. If it is not found, the operation will return a 4xx error and an appropriate message. |
| GET | To retrieve information about a resource, use the GET method. The data is returned as a JSON object. GET methods are read-only and do not affect any resources. |
| PATCH | Some resources support partial modification with PATCH, which modifies specific attributes without updating the entire object representation. |
| POST | Issue a POST method to create a new object. Include all needed attributes in the request body encoded as JSON. |
| PUT | Use the PUT method to update information about a resource. PUT will set new values on the item without regard to their current values. |
Rate Limit: Vultr safeguards the API against bursts of incoming traffic based on the request's IP address to ensure stability for all users. If your application sends more than 30 requests per second, the API may return HTTP status code 429. If you do exceed the rate limit, we will send back a Retry-After header with how many seconds to wait before trying again.
We use standard HTTP response codes to show the success or failure of requests. Response codes in the 2xx range indicate success, while codes in the 4xx range indicate an error, such as an authorization failure or a malformed request. All 4xx errors will return a JSON response object with an error attribute explaining the error. Codes in the 5xx range indicate a server-side problem preventing Vultr from fulfilling your request.
| Response | Description |
|---|---|
| 200 OK | The response contains your requested information. |
| 201 Created | Your request was accepted. The resource was created. |
| 202 Accepted | Your request was accepted. The resource was created or updated. |
| 204 No Content | Your request succeeded, there is no additional information returned. |
| 400 Bad Request | Your request was malformed. |
| 401 Unauthorized | You did not supply valid authentication credentials. |
| 403 Forbidden | You are not allowed to perform that action. |
| 404 Not Found | No results were found for your request. |
| 429 Too Many Requests | Your request exceeded the API rate limit. We will send back a Retry-After header with how many seconds to wait before trying again. |
| 500 Internal Server Error | We were unable to perform the request due to server-side problems. |
Many API calls will return a meta object with paging information.
| Term | Description |
|---|---|
| List | The items returned from the database for your request (not necessarily shown in a single response depending on the cursor size). |
| Page | A subset of the full list of items. Choose the size of a page with the per_page parameter. |
| Total | The total attribute indicates the number of items in the full list. |
| Cursor | Use the cursor query parameter to select a next or previous page. |
| Next & Prev | Use the next and prev attributes of the links meta object as cursor values. |
If your result list total exceeds the default cursor size (the default depends on the route, but is usually 100 records) or the value defined by the per_page query param (when present) the response will be returned to you paginated.
These examples have abbreviated attributes and sample values. Your actual
cursorvalues will be encoded alphanumeric strings.
To return a page with the first two plans in the List:
curl "https://api.vultr.com/v2/plans?per_page=2" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
The API returns an object similar to this:
{
"plans": [
{
"id": "vc2-1c-2gb",
"vcpu_count": 1,
"ram": 2048,
"locations": []
},
{
"id": "vc2-24c-97gb",
"vcpu_count": 24,
"ram": 98304,
"locations": []
}
],
"meta": {
"total": 19,
"links": {
"next": "WxYzExampleNext",
"prev": "WxYzExamplePrev"
}
}
}
The object contains two plans. The total attribute indicates that 19 plans are available in the List. To navigate forward in the list, use the next value (WxYzExampleNext in this example) as your cursor query parameter.
curl "https://api.vultr.com/v2/plans?per_page=2&cursor=WxYzExampleNext" \
-X GET
-H "Authorization: Bearer ${VULTR_API_KEY}"
Likewise, you can use the example prev value WxYzExamplePrev to navigate backward.
You can pass information to the API with three different types of parameters.
Some API calls require variable parameters as part of the endpoint path. For example, to retrieve information about a user, supply the user-id in the endpoint.
curl "https://api.vultr.com/v2/users/{user-id}" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
Some API calls allow filtering with query parameters. For example, the /v2/plans endpoint supports a type query parameter. Setting type=vhf instructs the API only to return High Frequency Compute plans in the list. You'll find more specifics about valid filters in the endpoint documentation below.
curl "https://api.vultr.com/v2/plans?type=vhf" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
You can also combine filtering with paging. Use the per_page parameter to retreive a subset of vhf plans.
curl "https://api.vultr.com/v2/plans?type=vhf&per_page=2" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
PUT, POST, and PATCH methods may include an object in the request body with a content type of application/json. The documentation for each endpoint below has more information about the expected object.
The examples in this documentation use curl, a command-line HTTP client, to demonstrate useage. Linux and macOS computers usually have curl installed by default, and it's available for download on all popular platforms including Windows.
Each example is split across multiple lines with the \ character, which is compatible with a bash terminal. A typical example looks like this:
curl "https://api.vultr.com/v2/domains" \
-X POST \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
-H "Content-Type: application/json" \
--data '{
"domain" : "example.com",
"ip" : "192.0.2.123"
}'
-X parameter sets the request method. For consistency, we show the method on all examples, even though it's not explicitly required for GET methods.-H lines set required HTTP headers. These examples are formatted to expand the VULTR_API_KEY environment variable for your convenience.--data parameter.All values in this guide are examples. Do not rely on the OS or Plan IDs listed in this guide; use the appropriate endpoint to retreive values before creating resources.
Read-only information about your user account and billing information.
Get your Vultr account, permission, and billing information.
curl "https://api.vultr.com/v2/account" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "account": {
- "name": "Example Account",
- "email": "admin@example.com",
- "acls": [
- "manage_users",
- "subscriptions_view",
- "subscriptions",
- "billing",
- "support",
- "provisioning",
- "dns",
- "abuse",
- "upgrade",
- "firewall",
- "alerts",
- "objstore",
- "loadbalancer"
], - "balance": -100.55,
- "pending_charges": 60.25,
- "last_payment_date": "2020-10-10T01:56:20+00:00",
- "last_payment_amount": -1.25
}
}curl "https://api.vultr.com/v2/account/bgp" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "enabled": true,
- "asn": 20473,
- "pasword": "12345"
}Get your Vultr account bandwidth information.
curl "https://api.vultr.com/v2/account/bandwidth" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "bandwidth": {
- "previous_month": {
- "timestamp_start": "1701388800",
- "timestamp_end": "1704067200",
- "gb_in": 0,
- "gb_out": 0,
- "total_instance_hours": 8736,
- "total_instance_count": 13,
- "instance_bandwidth_credits": 3099648,
- "free_bandwidth_credits": 2048,
- "purchased_bandwidth_credits": 0,
- "overage": 0,
- "overage_unit_cost": 0.01,
- "overage_cost": 0
}, - "current_month_to_date": {
- "timestamp_start": "1704067200",
- "timestamp_end": "1706212679",
- "gb_in": 0,
- "gb_out": 0,
- "total_instance_hours": 7748,
- "total_instance_count": 13,
- "instance_bandwidth_credits": 2749086,
- "free_bandwidth_credits": 2048,
- "purchased_bandwidth_credits": 0,
- "overage": 0,
- "overage_unit_cost": 0.01,
- "overage_cost": 0
}, - "current_month_projected": {
- "timestamp_start": "1704067200",
- "timestamp_end": "1706745600",
- "gb_in": 0,
- "gb_out": 0,
- "total_instance_hours": 8736,
- "total_instance_count": 13,
- "instance_bandwidth_credits": 3099648,
- "free_bandwidth_credits": 2048,
- "purchased_bandwidth_credits": 0,
- "overage": 0,
- "overage_unit_cost": 0.01,
- "overage_cost": 0
}
}
}One-Click and Marketplace Applications are ready-to-run with minimal configuration. We have an extensive documentation library for our Applications.
There are two types of Applications: marketplace and one-click. This is denoted by the type field in the Application object. Applications with type of marketplace can be deployed by using the image_id while Applications with type of one-click should use the id.
Get a list of all available Applications.
| type | string Filter the results by type.
| ||||||||||||
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. | ||||||||||||
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/applications" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "applications": [
- {
- "id": 1,
- "name": "LEMP",
- "short_name": "lemp",
- "deploy_name": "LEMP on CentOS 6 x64",
- "type": "one-click",
- "vendor": "vultr",
- "image_id": ""
}, - {
- "id": 1028,
- "name": "OpenLiteSpeed WordPress",
- "short_name": "openlitespeedwordpress",
- "deploy_name": "OpenLiteSpeed WordPress on Ubuntu 20.04 x64",
- "type": "marketplace",
- "vendor": "LiteSpeed_Technologies",
- "image_id": "openlitespeed-wordpress"
}
], - "meta": {
- "total": 2,
- "links": {
- "next": "",
- "prev": ""
}
}
}The Vultr API v2 uses API keys for authentication. These methods enable you to manage your API keys without having to access the customer portal. Keys are only accessible for the currently authenticated user. To manage keys for other users, see the "Users" section.
Gets information about an API key for the currently authenticated user. API keys returned by this method are masked.
curl "https://api.vultr.com/v2/apikeys/{apikey-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "api_key": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "api_key": "*******************************00000",
- "name": "Default",
- "expire": true,
- "date_expire": "2030-01-01T00:00:00Z"
}
}Gets all API keys for the currently authenticated user. API keys returned by this method are masked.
curl "https://api.vultr.com/v2/apikeys" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "api_keys": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "api_key": "*******************************00000",
- "name": "Default",
- "expire": true,
- "date_expire": "2030-01-01T00:00:00Z"
}
]
}Adds an API key to the currently authenticated user's API key list.
Include a JSON object in the request body with a content type of application/json.
| name | string Custom name of the API key. |
| expire | boolean Will the API key expire? |
| date_expire | string Date when the API key expires. Only valid when |
{- "name": "Production",
- "expire": true,
- "date_expire": "2030-01-01T00:00:00Z"
}{- "api_key": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "api_key": "000000000000000000000000000000012345",
- "name": "Production",
- "expire": true,
- "date_expire": "2030-01-01T00:00:00Z"
}
}A backup is a scheduled, automatic, point-in-time image of an instance. We do not stop the instance when taking a backup. Booting from a backup is similar to rebooting after a non-graceful restart. Snapshots are physically the same as backups, but snapshots are manual while backups run automatically on a schedule. Backups can be converted into snapshots. See our Automatic Backup FAQ for more information.
Get information about Backups in your account.
| instance_id | string Filter the backup list by Instance id. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/backups" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "backups": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "description": "Example Automatic Backup",
- "size": 10000000,
- "status": "complete",
- "os_id": 215,
- "app_id": 0
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get the information for the Backup.
| backup-id required | string The Backup id. |
curl "https://api.vultr.com/v2/backups/{backup-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "backup": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "description": "Example Description",
- "size": 10000000,
- "status": "complete",
- "os_id": 215,
- "app_id": 0
}
}Bare Metal servers give you access to the underlying physical hardware in a single-tenant environment without a virtualization layer.
List all Bare Metal instances in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/bare-metals" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "bare_metals": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Application",
- "ram": "32768 MB",
- "disk": "2x 240GB SSD",
- "main_ip": "192.0.2.123",
- "cpu_count": 4,
- "region": "ams",
- "default_password": "example-password",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "active",
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "plan": "vbm-4c-32gb",
- "v6_network": "2001:0db8:5001:3990::",
- "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
- "v6_network_size": 64,
- "label": "Example Bare Metal",
- "internal_ip": "",
- "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}
], - "mac_address": 2199756823533,
- "os_id": 186,
- "app_id": 3,
- "image_id": "",
- "snapshot_id": "",
- "features": [
- "ipv6"
], - "tags": [
- "a tag",
- "another"
], - "user_scheme": "root",
- "mdisk_mode": "raid1"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new Bare Metal instance in a region with the desired plan. Choose one of the following to deploy the instance:
os_idsnapshot_idapp_idimage_idSupply other attributes as desired.
Include a JSON object in the request body with a content type of application/json.
| region required | string The Region id to create the instance. |
| plan required | string The Bare Metal plan id to use for this instance. |
| script_id | string The Startup Script id to use for this instance. |
| enable_ipv6 | boolean Enable IPv6.
|
| sshkey_id | Array of strings The SSH Key id to install on this instance. |
| user_data | string The user-supplied, base64 encoded user data for this Instance. |
| label | string The user-supplied label. |
| activation_email | boolean Notify by email after deployment.
|
| hostname | string The user-supplied hostname to use when deploying this instance. |
| tag | string Deprecated Use |
| reserved_ipv4 | string The Reserved IP id for this instance. |
| os_id | integer If supplied, deploy the instance using this Operating System id. |
| snapshot_id | string If supplied, deploy the instance using this Snapshot ID. |
| app_id | integer If supplied, deploy the instance using this Application id. |
| image_id | string If supplied, deploy the instance using this Application image_id. |
| ipxe_chain_url | string The URL location of the iPXE chainloader. If used, |
| persistent_pxe | boolean Enable persistent PXE.
|
| attach_vpc2 | Array of strings Deprecated An array of VPC IDs to attach to this Bare Metal Instance. This parameter takes precedence over |
| detach_vpc2 | Array of strings Deprecated An array of VPC IDs to detach from this Bare Metal Instance. This parameter takes precedence over |
| enable_vpc2 | boolean Deprecated If This parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use |
| tags | Array of strings Tags to apply to the instance. |
| user_scheme | string Linux-only: The user scheme used for logging into this instance. By default, the "root" user is configured. Alternatively, a limited user with sudo permissions can be selected.
|
| mdisk_mode | string The RAID configuration used for the disks on this instance. The instance must be reinstalled for this change to take effect.
|
| app_variables | object The app variable inputs for configuring the marketplace app (name/value pairs). |
{- "region": "ams",
- "plan": "vbm-4c-32gb",
- "label": "Example Bare Metal",
- "app_id": 3,
- "enable_ipv6": true
}{- "bare_metal": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Application",
- "ram": "32768 MB",
- "disk": "2x 240GB SSD",
- "main_ip": "",
- "cpu_count": 4,
- "region": "ams",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "pending",
- "netmask_v4": "",
- "gateway_v4": "",
- "plan": "vbm-4c-32gb",
- "v6_network": "",
- "v6_main_ip": "",
- "v6_network_size": 0,
- "label": "Example Bare Metal",
- "mac_address": 2199756823533,
- "tag": "Example Tag",
- "tags": [
- "Another tag"
], - "os_id": 186,
- "app_id": 3,
- "image_id": "",
- "snapshot_id": "",
- "features": [
- "ipv6"
], - "user_scheme": "root",
- "mdisk_mode": "raid1"
}
}Get information for a Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "bare_metal": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Application",
- "ram": "32768 MB",
- "disk": "2x 240GB SSD",
- "main_ip": "192.0.2.123",
- "cpu_count": 4,
- "region": "ams",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "pending",
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "plan": "vbm-4c-32gb",
- "v6_network": "2001:0db8:5001:3990::",
- "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
- "v6_network_size": 64,
- "mac_address": 2199756823533,
- "label": "Example Bare Metal",
- "internal_ip": "",
- "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}
], - "os_id": 183,
- "app_id": 3,
- "image_id": "",
- "snapshot_id": "",
- "features": [
- "ipv6"
], - "tags": [
- "a tag",
- "another"
], - "user_scheme": "root"
}
}Update a Bare Metal instance. All attributes are optional. If not set, the attributes will retain their original values.
Note: Changing os_id, app_id or image_id may take a few extra seconds to complete.
| baremetal-id required | string The Bare Metal id. |
Include a JSON object in the request body with a content type of application/json.
| user_data | string The user-supplied, base64 encoded user data to attach to this instance. |
| label | string The user-supplied label. |
| tag | string Deprecated Use |
| os_id | integer If supplied, reinstall the instance using this Operating System id. |
| app_id | integer If supplied, reinstall the instance using this Application id. |
| image_id | string If supplied, reinstall the instance using this Application image_id. |
| enable_ipv6 | boolean Enable IPv6.
|
| attach_vpc2 | Array of strings Deprecated An array of VPC IDs to attach to this Bare Metal Instance. This parameter takes precedence over |
| detach_vpc2 | Array of strings Deprecated An array of VPC IDs to detach from this Bare Metal Instance. This parameter takes precedence over |
| enable_vpc2 | boolean Deprecated If This parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use |
| tags | Array of strings Tags to apply to the instance. |
| user_scheme | string Linux-only: The user scheme used for logging into this instance. The instance must be reinstalled for this change to take effect.
|
| mdisk_mode | string The RAID configuration used for the disks on this instance. The instance must be reinstalled for this change to take effect.
|
| ipxe_chain_url | string The URL location of the iPXE chainloader. |
{- "label": "Updated Bare Metal Label",
- "tags": [
- "a tag",
- "another"
], - "user_data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
}{- "bare_metal": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Application",
- "ram": "32768 MB",
- "disk": "2x 240GB SSD",
- "main_ip": "192.0.2.123",
- "cpu_count": 4,
- "region": "ams",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "pending",
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "plan": "vbm-4c-32gb",
- "v6_network": "2001:0db8:5001:3990::",
- "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
- "v6_network_size": 64,
- "mac_address": 2199756823533,
- "label": "Updated Bare Metal Label",
- "os_id": 183,
- "app_id": 3,
- "image_id": "",
- "snapshot_id": "",
- "features": [
- "ipv6"
], - "tags": [
- "a tag",
- "another"
], - "user_scheme": "root",
- "mdisk_mode": "raid1"
}
}Delete a Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get the IPv4 information for the Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv4" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "ipv4s": [
- {
- "ip": "192.0.2.123",
- "netmask": "255.255.254.0",
- "gateway": "192.0.2.1",
- "type": "main_ip",
- "reverse": "192.0.2.123.vultr.com"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get the IPv6 information for the Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/ipv6" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "ipv6s": [
- {
- "ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
- "network": "2001:0db8:5001:3990::",
- "network_size": 64,
- "type": "main_ip"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a reverse IPv4 entry for a Bare Metal Instance. The ip and reverse attributes are required.
| baremetal-id required | string The Bare Metal ID. |
Include a JSON object in the request body with a content type of application/json.
| ip required | string The IPv4 address. |
| reverse required | string The IPv4 reverse entry. |
{- "ip": "192.0.2.123",
- "reverse": "foo.example.com"
}Create a reverse IPv6 entry for a Bare Metal Instance. The ip and reverse attributes are required. IP address must be in full, expanded format.
| baremetal-id required | string The Bare metal ID. |
Include a JSON object in the request body with a content type of application/json.
| ip required | string The IPv6 address in full, expanded format. |
| reverse required | string The IPv6 reverse entry. |
{- "ip": "2001:0db8:0005:6bb0:5400:2ff0:fee5:0002",
- "reverse": "foo.example.com"
}Set a reverse DNS entry for an IPv4 address
| baremetal-id required | string The Bare Metal ID. |
Include a JSON object in the request body with a content type of application/json.
| ip required | string |
{- "ip": "192.0.2.123"
}Delete the reverse IPv6 for a Bare metal instance.
| baremetal-id required | string The Bare Metal id. |
| ipv6 required | string The IPv6 address. |
curl "https://api.vultr.com/v2/baremetal/{baremetal-id}/ipv6/reverse/{ipv6}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Start the Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/start" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Reboot the Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/reboot" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Reinstall the Bare Metal instance using an optional hostname.
Note: This action may take some time to complete.
| baremetal-id required | string The Bare Metal id. |
Include a JSON object in the request body with a content type of application/json.
| hostname | string The hostname to use when reinstalling this bare metal server. |
{- "hostname": "my_new_hostname"
}{- "bare_metal": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Application",
- "ram": "32768 MB",
- "disk": "2x 240GB SSD",
- "main_ip": "192.0.2.123",
- "cpu_count": 4,
- "region": "ams",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "pending",
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "plan": "vbm-4c-32gb",
- "v6_network": "2001:0db8:5001:3990::",
- "v6_main_ip": "2001:0db8:5001:3990:0ec4:7aff:fe8e:f97a",
- "v6_network_size": 64,
- "label": "Example Bare Metal",
- "mac_address": 2199756823533,
- "tag": "Example Tag",
- "os_id": 183,
- "app_id": 3,
- "image_id": "",
- "snapshot_id": ""
}
}Halt the Bare Metal instance.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/halt" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get bandwidth information for the Bare Metal instance.
The bandwidth object in a successful response contains objects representing a day in the month. The date is denoted by the nested object keys. Days begin and end in the UTC timezone. Bandwidth utilization data contained within the date object is refreshed periodically. We do not recommend using this endpoint to gather real-time metrics.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/bandwidth" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "bandwidth": {
- "2020-07-25": {
- "incoming_bytes": 15989787,
- "outgoing_bytes": 25327729
}, - "2020-07-26": {
- "incoming_bytes": 13964112,
- "outgoing_bytes": 22257069
}
}
}Halt Bare Metals.
Include a JSON object in the request body with a content type of application/json.
| baremetal_ids | Array of strings |
{- "baremetal_ids": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "7f6f84ea-8f87-4d9e-af01-ac44db05911c",
- "54a83807-64ce-42e8-a0da-4d6c31c5b93b"
]
}Reboot Bare Metals.
Include a JSON object in the request body with a content type of application/json.
| baremetal_ids | Array of strings |
{- "baremetal_ids": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "54a83807-64ce-42e8-a0da-4d6c31c5b93b",
- "d092ee75-a113-480c-ae2e-e24cc6f588c3"
]
}Start Bare Metals.
Include a JSON object in the request body with a content type of application/json.
| baremetal_ids | Array of strings |
{- "baremetal_ids": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
- "c2790719-278d-474c-8dff-cb35d6e5503f"
]
}Get the user-supplied, base64 encoded user data for a Bare Metal.
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/user-data" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "user_data": {
- "data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
}
}Get available upgrades for a Bare Metal
| baremetal-id required | string The Bare Metal id. |
| type | string Filter upgrade by type:
|
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/upgrades" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "upgrades": {
- "os": [
- {
- "id": 127,
- "name": "CentOS 6 x64",
- "arch": "x64",
- "family": "centos"
}, - {
- "id": 147,
- "name": "CentOS 6 i386",
- "arch": "i386",
- "family": "centos"
}
], - "applications": [
- {
- "id": 1,
- "name": "LEMP",
- "short_name": "lemp",
- "deploy_name": "LEMP on CentOS 6 x64",
- "type": "one-click",
- "vendor": "vultr",
- "image_id": ""
}, - {
- "id": 39,
- "name": "LEMP",
- "short_name": "lemp",
- "deploy_name": "LEMP on CentOS 7 x64",
- "type": "one-click",
- "vendor": "vultr",
- "image_id": ""
}, - {
- "id": 1028,
- "name": "OpenLiteSpeed WordPress",
- "short_name": "openlitespeedwordpress",
- "deploy_name": "OpenLiteSpeed WordPress on Ubuntu 20.04 x64",
- "type": "marketplace",
- "vendor": "LiteSpeed_Technologies",
- "image_id": "openlitespeed-wordpress"
}
]
}
}Get the VNC URL for a Bare Metal
| baremetal-id required | string The Bare Metal id. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/vnc" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{
}Attach a VPC Network to a Bare Metal Instance.
| baremetal-id required | string The Bare Metal ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id | string The VPC ID to attach to this Bare Metal Instance. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}Detach a VPC Network from an Bare Metal Instance.
| baremetal-id required | string The bare-metal ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id | string The VPC ID to detach from this Bare Metal Instance. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}List the VPC networks for a Bare Metal Instance.
| baremetal-id required | string The Bare Metal ID. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpcs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpcs": [
- {
- "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
- "mac_address": "00:00:5e:00:53:5e",
- "ip_address": "10.99.0.123"
}
]
}Attach a VPC 2.0 Network to a Bare Metal Instance.
Deprecated: Migrate to VPC Networks and use Attach VPC Network to Bare Metal Instance instead.
| baremetal-id required | string The Bare Metal ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id | string The VPC ID to attach to this Bare Metal Instance. |
| ip_address | string The IP address to use for this instance on the attached VPC 2.0 network. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "ip_address": "10.1.144.4"
}Detach a VPC 2.0 Network from an Bare Metal Instance.
Deprecated: Migrate to VPC Networks and use Detach VPC Network from Bare Metal Instance instead.
| baremetal-id required | string The bare-metal ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id | string The VPC ID to detach from this Bare Metal Instance. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}List the VPC 2.0 networks for a Bare Metal Instance.
Deprecated: Migrate to VPC Networks and use List Bare Metal Instance VPC Networks instead.
| baremetal-id required | string The Bare Metal ID. |
curl "https://api.vultr.com/v2/bare-metals/{baremetal-id}/vpc2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpcs": [
- {
- "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
- "mac_address": "00:00:5e:00:53:5e",
- "ip_address": "10.99.0.123"
}
]
}Read-only billing information for your user account.
curl "https://api.vultr.com/v2/billing/history" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "billing_history": [
- {
- "id": 123456,
- "date": "2020-10-10T01:56:20+00:00",
- "type": "invoice",
- "description": "Invoice #123456",
- "amount": 100.03,
- "balance": 79.48
}, - {
- "id": 123457,
- "date": "2020-10-10T01:46:05+00:00",
- "type": "credit",
- "description": "Account Credit",
- "amount": 50.55,
- "balance": -20.55
}
], - "meta": {
- "total": 3,
- "links": {
- "next": "WxYzExampleNext",
- "prev": ""
}
}
}curl "https://api.vultr.com/v2/billing/invoices" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "billing_invoices": [
- {
- "id": 123456,
- "date": "2021-10-10T00:00:00+00:00",
- "description": "Invoice #123456",
- "amount": 5.25,
- "balance": 10.25
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Retrieve specified invoice
| invoice-id required | string ID of invoice |
curl "https://api.vultr.com/v2/billing/invoices/{invoice-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "billing_invoice": {
- "id": 123456,
- "description": "Account Credit",
- "date": "09-01-2021T00:00:00+00:00",
- "amount": 5.25
}
}Retrieve full specified invoice
| invoice-id required | string ID of invoice |
curl "https://api.vultr.com/v2/billing/invoices/{invoice-id}/items" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "invoice_items": [
- {
- "description": "Load Balancer (my-loadbalancer)",
- "product": "Load Balancer",
- "start_date": "2021-08-31T00:00:00+00:00",
- "end_date": "2021-09-30T00:00:00+00:00",
- "units": 720,
- "unit_type": "hours",
- "unit_price": 0.0149,
- "total": 10
}, - {
- "description": "1.1.1.1 (8192 MB) [my-instance]",
- "product": "Vultr Cloud Compute",
- "start_date": "2021-09-15T00:00:00+00:00",
- "end_date": "2021-09-30T00:00:00+00:00",
- "units": 371,
- "unit_type": "hours",
- "unit_price": 0.0595,
- "total": 22.09
}
], - "meta": {
- "total": 3,
- "links": {
- "next": "WxYzExampleNext",
- "prev": ""
}
}
}curl "https://api.vultr.com/v2/billing/pending-charges" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "pending_charges": [
- {
- "description": "Load Balancer (my-loadbalancer)",
- "start_date": "2020-10-10T01:56:20+00:00",
- "end_date": "2020-10-10T01:56:20+00:00",
- "units": 720,
- "unit_type": "hours",
- "unit_price": 0.0149,
- "total": 10,
- "product": "Load Balancer"
}
]
}Get pending charges as CSV file. Returns all current month charges.
curl "https://api.vultr.com/v2/billing/pending-charges/csv" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -o estimated_charges.csv
"Start Date","End Date","Description","Unit Price","Units","Amount" "2020-10-01 00:00","2020-10-31 23:59","Load Balancer (my-loadbalancer)","0.0149","720","10.73" "2020-10-01 00:00","2020-10-31 23:59","Cloud Compute (192.0.2.1)","0.0059","744","4.39"
Block Storage volumes are highly-available, redundant, SSD backed, and expandable from 10 GB to 40,000 GB depending on the type. Block storage volumes can be formatted with your choice of filesystems and moved between server instances as needed. See our FAQ for details.
List all Block Storage in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/blocks" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "blocks": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "cost": 5,
- "status": "pending",
- "size_gb": 50,
- "region": "ewr",
- "attached_to_instance": "742c9913-d088-4d67-bc61-5a10e922fbd1",
- "label": "Example Block Storage",
- "mount_id": "ewr-example112233"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create new Block Storage in a region with a size of size_gb. Size may range between 10 and 40000 depending on the block_type.
Include a JSON object in the request body with a content type of application/json.
| region required | string The Region id where the Block Storage will be created. |
| size_gb required | integer Size in GB may range between 10 and 40000, depending on the |
| label | string The user-supplied label. |
| block_type | string An optional parameter, that determines on the type of block storage volume that will be created. Soon to become a required parameter.
|
| snapshot_id | string An optional paremeter, allows you to create a block device as a clone of an existing block snapshot. |
| bootable | boolean An optional parameter. Allows you to flag a block device as bootable. |
{- "region": "ewr",
- "size_gb": 50,
- "label": "Example Block Storage"
}{- "block": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "cost": 5,
- "status": "active",
- "size_gb": 50,
- "region": "ewr",
- "attached_to_instance": "742c9913-d088-4d67-bc61-5a10e922fbd1",
- "label": "Example Block Storage",
- "mount_id": "ewr-example112233",
- "block_type": "high_perf"
}
}List all Block Storage Snapshots in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/blocks/snapshots" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "snapshots": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "block_id": "ay2c5b1a-66fd-4dfb-b839-443f2e6c0b60",
- "description": "Example block storage snapshot",
- "state": "COMPLETE",
- "added_at": "2020-10-10 01:56:20",
- "updated_at": "2020-10-10 01:56:35",
- "size": 10737418240,
- "next_invoice_date": "2010-11-10",
- "next_invoice_price": "5"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create new Block Snapshot of a Block Storage subscription.
Include a JSON object in the request body with a content type of application/json.
| block_id required | string The Block id of the block subscription you want to snapshot |
| description required | string The user-supplied description. |
{- "block_id": "ay2c5b1a-66fd-4dfb-b839-443f2e6c0b60",
- "description": "example-block-snapshot"
}{- "snapshot": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "block_id": "ay2c5b1a-66fd-4dfb-b839-443f2e6c0b60",
- "description": "Example block storage snapshot",
- "state": "COMPLETE",
- "added_at": "2020-10-10 01:56:20",
- "updated_at": "2020-10-10 01:56:35",
- "size": 10737418240,
- "next_invoice_date": "2010-11-10",
- "next_invoice_price": "5"
}
]
}Get information for Block Storage Snapshot.
| snapshot-id required | string |
curl "https://api.vultr.com/v2/blocks/snapshots/{snapshot-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "block_id": "ay2c5b1a-66fd-4dfb-b839-443f2e6c0b60",
- "description": "Example block storage snapshot",
- "state": "COMPLETE",
- "added_at": "2020-10-10 01:56:20",
- "updated_at": "2020-10-10 01:56:35",
- "size": 10737418240,
- "next_invoice_date": "2010-11-10",
- "next_invoice_price": "5"
}Update information for Block Storage Snapshot.
| snapshot-id required | string |
Include a JSON object in the request body with a content type of application/json.
| description | string The user-supplied description. |
{- "description": "Updated Block Storage description"
}Get information for Block Storage.
| block-id required | string The Block Storage id. |
curl "https://api.vultr.com/v2/blocks/{block-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "block": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "cost": 5,
- "status": "active",
- "size_gb": 50,
- "region": "ewr",
- "attached_to_instance": "742c9913-d088-4d67-bc61-5a10e922fbd1",
- "label": "Example Block Storage",
- "mount_id": "ewr-example112233",
- "block_type": "high_perf"
}
}Delete Block Storage.
| block-id required | string The Block Storage id. |
curl "https://api.vultr.com/v2/blocks/{block-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update information for Block Storage.
| block-id required | string The Block Storage id. |
Include a JSON object in the request body with a content type of application/json.
| label | string The user-supplied label. |
| size_gb | integer New size of the Block Storage in GB. Size may range between 10 and 40000 depending on the |
{- "label": "Updated Block Storage Label",
- "size_gb": 50
}Attach Block Storage to Instance instance_id.
| block-id required | string The Block Storage id. |
Include a JSON object in the request body with a content type of application/json.
| instance_id required | string Attach the Block Storage to this Instance id. | |||||||||
| live | boolean Attach Block Storage without restarting the Instance.
|
{- "instance_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "live": true
}Detach Block Storage.
| block-id required | string The Block Storage id. |
Include a JSON object in the request body with a content type of application/json.
| live | boolean Detach Block Storage without restarting the Instance.
|
{- "live": true
}A Vultr Content Delivery Network (CDN) optimizes your website, allowing you to deliver content quickly to users worldwide. More information on Vultr CDN can be found here.
curl "https://api.vultr.com/v2/cdns/pull-zones/" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "pull_zones": [
- {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pullzone",
- "origin_scheme": "https",
- "origin_domain": "constant.com",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "last_purge": "2024-01-25 11:39:04",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
], - "meta": {
- "total": 3,
- "links": {
- "next": "WxYzExampleNext",
- "prev": ""
}
}
}Create a new CDN Pull Zone.
Include a JSON object in the request body with a content type of application/json.
| label required | string The user-supplied label. |
| origin_scheme required | string Enum: "http" "https" The URI scheme of the origin domain. |
| origin_domain required | string The domain name from which the content stored in the CDN will be pulled. |
| vanity_domain | string An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created. This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN. |
| ssl_cert | string Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain. This field is required if a vanity domain is provided and the origin_scheme is https. |
| ssl_cert_key | string Base 64 encoded file content for the private key associated with the ssl_cert. This field is required if a vanity domain is provided and the origin_scheme is https. |
| cors | boolean Enable Cross-origin resource sharing. CORS is a content validation mechanism used by web browsers to validate file access permissions. The Vultr CDN CORS policy protects your static assets from hotlinking threats by only accepting requests associated with your Origin URL. |
| gzip | boolean Enable Gzip compression to reduce the static content size to speed up the delivery process. |
| block_ai | boolean Block AI bots. |
| block_bad_bots | boolean Block potentially malicious bots. |
{- "label": "my-pullzone",
- "origin_scheme": "https",
- "origin_domain": "www.vultr.com",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": false
}{- "pull_zone": {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pullzone",
- "origin_scheme": "https",
- "origin_domain": "constant.com",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "last_purge": "2024-01-25 11:39:04",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
}Get information about a CDN Pull Zones
| pullzone-id required | string The Pull Zone ID. |
curl "https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "pull_zone": {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pullzone",
- "origin_scheme": "https",
- "origin_domain": "constant.com",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "last_purge": "2024-01-25 11:39:04",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
}Update information for a CDN Pullzone. All attributes are optional. If not set, the attributes will retain their original values.
| pullzone-id required | string The Pull Zone ID. |
| label | string The user-supplied label. |
| vanity_domain | string An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created. This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN. |
| ssl_cert | string Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain. This field is required if a vanity domain is provided and the origin_scheme is https. |
| ssl_cert_key | string Base 64 encoded file content for the private key associated with the ssl_cert. This field is required if a vanity domain is provided and the origin_scheme is https. |
| cors | boolean Cross-origin resource sharing. |
| gzip | boolean Optional feature to compress files, reduce the amount of data that's transferred. |
| block_ai | boolean Optional feature to block AI bots. |
| block_bad_bots | boolean Optional feature to block potentially malicious bots. |
| regions | Array of arrays a list of Region ids for locations to be used for content delivery. |
{- "label": "my-pullzone",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": false,
- "regions": [
- "..."
]
}{- "pull_zone": {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pullzone",
- "origin_scheme": "https",
- "origin_domain": "constant.com",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "last_purge": "2024-01-25 11:39:04",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
}Delete a CDN Pull Zone.
| pullzone-id required | string The Pull Zone ID. |
curl "https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Clears cached content on server proxies so that visitors can get the latest page versions.
Note: This action may only be performed once every six hours.
Note: This action may take a few extra seconds to complete.
| pullzone-id required | string The Pull Zone ID. |
curl "https://api.vultr.com/v2/cdns/pull-zones/{pullzone-id}/purge" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
[ ]curl "https://api.vultr.com/v2/cdns/push-zones/" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "push_zones": [
- {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pushzone",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
], - "meta": {
- "total": 3,
- "links": {
- "next": "WxYzExampleNext",
- "prev": ""
}
}
}Create a new CDN Push Zone.
Include a JSON object in the request body with a content type of application/json.
| label required | string The user-supplied label. |
| vanity_domain | string An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created. This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN. |
| ssl_cert | string Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain. This field is required if a vanity domain is provided. |
| ssl_cert_key | string Base 64 encoded file content for the private key associated with the ssl_cert. This field is required if a vanity domain is provided. |
| cors | boolean Enable Cross-origin resource sharing. CORS is a content validation mechanism used by web browsers to validate file access permissions. The Vultr CDN CORS policy protects your static assets from hotlinking threats by only accepting requests associated with your Origin URL. |
| gzip | boolean Enable Gzip compression to reduce the static content size to speed up the delivery process. |
| block_ai | boolean Block AI bots. |
| block_bad_bots | boolean Block potentially malicious bots. |
{- "label": "my-pushzone",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": false
}{- "push_zone": {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pushzone",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
}Get information about a CDN Push Zone
| pushzone-id required | string The Push Zone ID. |
curl "https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "push_zone": {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pushzone",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
}Update information for a CDN Pushzone. All attributes are optional. If not set, the attributes will retain their original values.
| pushzone-id required | string The Push Zone ID. |
| label | string The user-supplied label. |
| vanity_domain | string An optional domain name that can be used to access the cached files in adition to the domain that is automaticaly created. This vanity domain will need to have a CNAME DNS record created to point it at the standard CDN domain that is automaticaly generated on creation of the CDN. |
| ssl_cert | string Base 64 encoded file content for an ssl/tls certificate associated with the optional vanity_domain. This field is required if a vanity domain is provided. |
| ssl_cert_key | string Base 64 encoded file content for the private key associated with the ssl_cert. This field is required if a vanity domain is provided. |
| cors | boolean Cross-origin resource sharing. |
| gzip | boolean Optional feature to compress files, reduce the amount of data that's transferred. |
| block_ai | boolean Optional feature to block AI bots. |
| block_bad_bots | boolean Optional feature to block potentially malicious bots. |
| regions | Array of arrays a list of Region ids for locations to be used for content delivery. |
{- "label": "my-pushzone",
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": false,
- "regions": [
- "..."
]
}{- "push_zone": {
- "id": "ef4d95d5-98dc-4710-94f5-0ee97e70a9a5",
- "date_created": "2024-01-25 09:41:05",
- "status": "active",
- "label": "my-pushzone",
- "vanity_domain": "my.domain.com",
- "cache_size": 50000000,
- "requests": null,
- "in_bytes": null,
- "out_bytes": null,
- "packets_per_sec": 50,
- "cors": false,
- "gzip": true,
- "block_ai": false,
- "block_bad_bots": true,
- "regions": [
- "..."
]
}
}Delete a CDN Push Zone.
| pushzone-id required | string The Push Zone ID. |
curl "https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get a list of files that have been uploaded to a specific CDN Push Zones
| pushzone-id required | string The Push Zone ID. |
curl "https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "files": [
- {
- "name": "my-file.jpg",
- "size": 857773,
- "last_modified": "2024-04-02T14:11:12+00:00\""
}
], - "count": 10,
- "total_size": 189238221
}Create a presigned post endpoint that can be used to upload a file to your Push Zone. After sending this request you must send a second POST request to the returned URL. Include all of the returned inputs as form-data fields using the same key and value. You must also include a field named "file" that holds the file to be uploaded.
| pushzone-id required | string The Push Zone ID. |
Include a JSON object in the request body with a content type of application/json.
| name required | string the name of the file to be uploaded including the file extension. If the uploaded file does not match this name the upload will fail. |
| size required | integer the size of the file to be uploaded. If the uploaded file does not match this size the upload will fail. |
{- "name": "my-image.jpg",
- "size": 857773
}{- "upload_endpoint": {
- "inputs": {
- "acl": "public-read,",
- "key": "cdn-ady5dwsa6mdh.vultrcdn.com/my-file.jpg,",
- "X-Amz-Credential": "kNCaYoUJZ6szuajKsgN/20240418/us-east-1/s3/aws4_request,",
- "X-Amz-Algorithm": "AWS4-HMAC-SHA256,",
- "Policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0wNC0xOFQxMzowNzo0MloiLCJjb25kaXRpb25zIjpbeyJhY2wiOiJwdWJsaWMtcmVhZCJ9LHsiYnVja2V0Ijoidi1jZG4tYWdlbnQtYXNzZXRzIn0seyJrZXkiOiJjZG4tYWR5NWR3c2E2bWRoLnZ1bHRyY2RuLmNvbVwvcGF0Y2guanBnIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsODU3NzczLDg1Nzc3M10seyJYLUFtei1EYXRlIjoiMjAyNDA0MThUMTMwMjQyWiJ9LHsiWC1BbXotQ3JlZGVudGlhbCI6InlrTkNhWW9VSlo2c3p1YWpLc2dOXC8yMDI0MDQxOFwvdXMtZWFzdC0xXC9zM1wvYXdzNF9yZXF1ZXN0In0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In1dfQ==,",
- "X-Amz-Signature": "8cc2328bf9bd9531ccae5f8b156e7f578f3ee4414bb60f5eac97bbb62a0f2536,"
}
}
}Get information about a CDN Push Zone file
| pushzone-id required | string The Push Zone ID. |
| file-name required | string The File Name. |
curl "https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files/{file-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "file": {
- "name": "my-image.jpg,",
- "mime": "image/jpeg,",
- "size": "patch.jpg,",
- "content": "/9j/2wBDAAQDAwQDAwQEA...,",
- "last_modified": "2024-04-18T13:07:15+00:00,"
}
}Delete a CDN Push Zone file.
| pushzone-id required | string The Push Zone ID. |
| file-name required | string The File Name. |
curl "https://api.vultr.com/v2/cdns/push-zones/{pushzone-id}/files/{file-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Store and manage public and private container images for rapid deployment to Vultr Managed Kubernetes.
List All Container Registry Subscriptions for this account
curl "https://api.vultr.com/v2/registries" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "registries": [
- {
- "id": "string",
- "name": "string",
- "urn": "string",
- "storage": {
- "used": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}, - "allowed": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}
}, - "date_created": "string",
- "public": true,
- "root_user": {
- "id": 0,
- "username": "string",
- "password": "string",
- "root": true,
- "added_at": "string",
- "updated_at": "string"
}, - "metadata": {
- "region": {
- "id": 0,
- "name": "string",
- "urn": "string",
- "base_url": "string",
- "public": true,
- "added_at": "string",
- "updated_at": "string",
- "data_center": { }
}, - "subscription": {
- "billing": {
- "monthly_price": 0,
- "pending_charges": 0
}
}
}
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new Container Registry Subscription
| name required | string The globally unique name to reference this registry |
| public required | boolean If true, this is a publically accessible registry allowing anyone to pull from it. If false, this registry is completely private |
| region required | string The name of the region you'd like to deploy this Registry in. Can get list of regions from /registry/region/list endpoint i.e. sjc |
| plan required | string The key of the plan you'd like to select which dictates how much storage you're allocated and the monthly cost. Can get list of plans from /plan/list endpoint i.e. start_up |
{- "name": "charizard",
- "public": false,
- "region": "sjc",
- "plan": "business"
}{- "id": "string",
- "name": "string",
- "urn": "string",
- "storage": {
- "used": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}, - "allowed": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}
}, - "date_created": "string",
- "public": true,
- "root_user": {
- "id": 0,
- "username": "string",
- "password": "string",
- "root": true,
- "added_at": "string",
- "updated_at": "string"
}, - "metadata": {
- "region": {
- "id": 0,
- "name": "string",
- "urn": "string",
- "base_url": "string",
- "public": true,
- "added_at": "string",
- "updated_at": "string",
- "data_center": { }
}, - "subscription": {
- "billing": {
- "monthly_price": 0,
- "pending_charges": 0
}
}
}
}Get a single Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "id": "string",
- "name": "string",
- "urn": "string",
- "storage": {
- "used": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}, - "allowed": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}
}, - "date_created": "string",
- "public": true,
- "root_user": {
- "id": 0,
- "username": "string",
- "password": "string",
- "root": true,
- "added_at": "string",
- "updated_at": "string"
}, - "metadata": {
- "region": {
- "id": 0,
- "name": "string",
- "urn": "string",
- "base_url": "string",
- "public": true,
- "added_at": "string",
- "updated_at": "string",
- "data_center": { }
}, - "subscription": {
- "billing": {
- "monthly_price": 0,
- "pending_charges": 0
}
}
}
}Update a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| public | boolean If true, this is a publically accessible registry allowing anyone to pull from it. If false, this registry is completely private |
| plan | string The key of the plan you'd like to upgrade to which dictates how much storage you're allocated and the monthly cost. Can get list of plans from /plan/list endpoint i.e. business |
{- "public": true,
- "plan": "business"
}{- "id": "string",
- "name": "string",
- "urn": "string",
- "storage": {
- "used": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}, - "allowed": {
- "bytes": 0,
- "mb": 0,
- "gb": 0,
- "tb": 0,
- "updated_at": "string"
}
}, - "date_created": "string",
- "public": true,
- "root_user": {
- "id": 0,
- "username": "string",
- "password": "string",
- "root": true,
- "added_at": "string",
- "updated_at": "string"
}, - "metadata": {
- "region": {
- "id": 0,
- "name": "string",
- "urn": "string",
- "base_url": "string",
- "public": true,
- "added_at": "string",
- "updated_at": "string",
- "data_center": { }
}, - "subscription": {
- "billing": {
- "monthly_price": 0,
- "pending_charges": 0
}
}
}
}Deletes a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List All Replication Policies in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}/replications" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "replications": [
- {
- "region": "string",
- "namespace": "string",
- "urn": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new Replication Policy for a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| region required | string The name of the region you'd like to replicate this Container Registry in. Get a list of regions from /registry/region/list endpoint, i.e. sjc |
{- "region": "sjc"
}{- "region": "string",
- "namespace": "string",
- "urn": "string"
}Get a single Replication Policy in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}/replication/{region}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "region": "string",
- "namespace": "string",
- "urn": "string"
}Deletes a Replication Policy from a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}/replication/{region}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update when a Retention Policy is scheduled to run in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| cron required | string The schedule in which the Retention Policy is triggered Possible values:
|
{- "cron": "monthly"
}{- "schedule": "string",
- "next_scheduled_time": "string"
}Manually initiate the execution of a Retention Policy in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| dry_run required | boolean If true, simulates the retention policy execution without deleting any artifacts |
{- "dry_run": true
}{- "dry_run": true,
- "end_time": "string",
- "start_time": "string",
- "trigger": "string"
}List all Retention Rules for a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}/retention/rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "retention_rules": [
- {
- "id": 0,
- "disabled": true,
- "action": "string",
- "params": {
- "additional_prop": 0
}, - "scope_selectors": {
- "repository": [
- {
- "decoration": "repoMatches",
- "kind": "string",
- "pattern": "string"
}
]
}, - "tag_selectors": [
- {
- "decoration": "matches",
- "extras": { },
- "kind": "string",
- "pattern": "string"
}
], - "template": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new Retention Rule for a Container Regsitry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| rule_type required | string The type of retention rule logic to apply. Possible values:
|
| count | integer The numeric parameter for the rule, for example, if |
| repository_action required | string Enum: "matches" "excludes" Specifies whether to match or exclude repositories.
|
| repository_match required | string The glob-style pattern to match repository names, supports wildcards like |
| tag_action required | string Enum: "matches" "excludes" Specifies whether to match or exclude tags.
|
| tag_match required | string Glob-style pattern to match tag names. Common patterns include:
|
| untagged required | boolean Whether to include untagged artifacts when applying the rule |
{- "rule_type": "artifacts pulled",
- "count": 10,
- "repository_action": "matches",
- "repository_match": "myapp/*",
- "tag_action": "excludes",
- "tag_match": "v.1.3.*",
- "untagged": true
}{- "id": 0,
- "disabled": true,
- "action": "string",
- "params": {
- "additional_prop": 0
}, - "scope_selectors": {
- "repository": [
- {
- "decoration": "repoMatches",
- "kind": "string",
- "pattern": "string"
}
]
}, - "tag_selectors": [
- {
- "decoration": "matches",
- "extras": { },
- "kind": "string",
- "pattern": "string"
}
], - "template": "string"
}Get a single Retention Rule in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| retention-rule-id required | integer The Retention Rule ID. Which can be found by List Retention Rules. |
curl "https://api.vultr.com/v2/registry/{registry-id}/retention/rules/{retention-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "id": 0,
- "disabled": true,
- "action": "string",
- "params": {
- "additional_prop": 0
}, - "scope_selectors": {
- "repository": [
- {
- "decoration": "repoMatches",
- "kind": "string",
- "pattern": "string"
}
]
}, - "tag_selectors": [
- {
- "decoration": "matches",
- "extras": { },
- "kind": "string",
- "pattern": "string"
}
], - "template": "string"
}Update a Retention Rule in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| retention-rule-id required | integer The Retention Rule ID. Which can be found by List Retention Rules. |
| disabled required | boolean Indicates whether the Retention rule is currently disabled |
{- "disabled": true
}{- "id": 0,
- "disabled": true,
- "action": "string",
- "params": {
- "additional_prop": 0
}, - "scope_selectors": {
- "repository": [
- {
- "decoration": "repoMatches",
- "kind": "string",
- "pattern": "string"
}
]
}, - "tag_selectors": [
- {
- "decoration": "matches",
- "extras": { },
- "kind": "string",
- "pattern": "string"
}
], - "template": "string"
}Deletes a Retention Rule from a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| retention-rule-id required | integer The Retention Rule ID. Which can be found by List Retention Rules. |
curl "https://api.vultr.com/v2/registry/{registry-id}/retention/rules/{retention-rule-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List All Repositories in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}/repositories" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "repositories": [
- {
- "name": "string",
- "image": "string",
- "description": "string",
- "added_at": "string",
- "updated_at": "string",
- "pull_count": 0,
- "artifact_count": 0
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Get a single Repository in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| repository-image required | string The Repository Image. Which can be found by List Repositories. |
curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "name": "string",
- "image": "string",
- "description": "string",
- "added_at": "string",
- "updated_at": "string",
- "pull_count": 0,
- "artifact_count": 0
}Update a Repository in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| repository-image required | string The Repository Image. Which can be found by List Repositories. |
| description | string User defined description of this repository |
{- "description": "This is my super cool hello-world project"
}{- "name": "string",
- "image": "string",
- "description": "string",
- "added_at": "string",
- "updated_at": "string",
- "pull_count": 0,
- "artifact_count": 0
}Deletes a Repository from a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| repository-image required | string The Repository Image. Which can be found by List Repositories. |
curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Create a fresh set of Docker Credentials for this Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| expiry_seconds | integer The seconds until these credentials expire. When set to 0, credentials do not expire. The default value is 0 |
| read_write | boolean Whether these credentials will have only PULL access or PUSH access as well. If true these credentials can PUSH to repos in this registry. If false, these credentials can only PULL. Default is false. |
curl "https://api.vultr.com/v2/registry/{registry-id}/docker-credentials" \ -X OPTIONS \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "auths": {
- "{registry-region-name}.vultrcr.com": {
- "auth": "string"
}
}
}Create a fresh set of Docker Credentials for this Container Registry Subscription and return them in a Kubernetes friendly YAML format
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| expiry_seconds | integer The seconds until these credentials expire. When set to 0, credentials do not expire. The default value is 0 |
| read_write | boolean Whether these credentials will have only PULL access or PUSH access as well. If true these credentials can PUSH to repos in this registry. If false, these credentials can only PULL. Default is false. |
| base64_encode | boolean Whether this YAML will be returned in a base64 encoded string for ease of downloading. If true, the response will be a base64 encoded string. Default is false. |
curl "https://api.vultr.com/v2/registry/{registry-id}/docker-credentials/kubernetes" \ -X OPTIONS \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update the Container Registy Password for this Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| old_password | string <password> The API Key provided on Container Registry Subscription creation if the password has not been updated yet |
| new_password | string <password> The new user provided password |
{- "old_password": "12345abc456ABC123ABcd6789efgH1234abc",
- "new_password": "sup3rh4rdt0cr4ck"
}{- "success": "Password update successfully"
}List All Robots in a Conainer Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
curl "https://api.vultr.com/v2/registry/{registry-id}/robots" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "robots": [
- {
- "name": "string",
- "description": "string",
- "secret": "string",
- "disable": true,
- "duration": 0,
- "creation_time": "string",
- "permissions": {
- "kind": "string",
- "namespace": "string",
- "access": {
- "action": "string",
- "resource": "string",
- "effect": "string"
}
}
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Get a single Robot in a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| robot-name required | any The Robot Name. Which can be found by List Robots. |
curl "https://api.vultr.com/v2/registry/{registry-id}/robot/{robot-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "name": "string",
- "description": "string",
- "secret": "string",
- "disable": true,
- "duration": 0,
- "creation_time": "string",
- "permissions": {
- "kind": "string",
- "namespace": "string",
- "access": {
- "action": "string",
- "resource": "string",
- "effect": "string"
}
}
}Update the description, disable, duration, and add or remove access, in a Container Registry Subscription Robot
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| robot-name required | any The Robot Name. Which can be found by List Robots. |
| description | string User defined description of this repository |
| disable | boolean Denotes whether the robot account is disabled or not |
| duration | integer Time in seconds when the robot account will expire and -1 if it never expires |
object |
{- "description": "Robot user auto generated by Vultr - enter only what you want to update in the request body",
- "disable": true,
- "duration": -1,
- "access": [
- {
- "action": "pull",
- "resource": "repository",
- "effect": "allow"
}, - {
- "action": "delete",
- "resource": "artifact",
- "effect": "deny"
}
]
}{- "name": "string",
- "description": "string",
- "secret": "string",
- "disable": true,
- "duration": 0,
- "creation_time": "string",
- "permissions": {
- "kind": "string",
- "namespace": "string",
- "access": {
- "action": "string",
- "resource": "string",
- "effect": "string"
}
}
}Deletes a Robot from a Container Registry Subscription
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| robot-name required | any The Robot Name. Which can be found by List Robots. |
curl "https://api.vultr.com/v2/registry/{registry-id}/robot/{robot-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List All Artifacts in a Container Registry Repository
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| repository-image required | string The Repository Image. Which can be found by List Repositories. |
curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}/artifacts" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "artifacts": [
- {
- "artifact_type": "string",
- "digest": "string",
- "manifest_media_type": "string",
- "media_type": "string",
- "pull_time": "string",
- "push_time": "string",
- "repository_name": "string",
- "size": 0,
- "type": "string",
- "tags": [ ]
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Get a single Artifact in a Container Registry Repository
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| repository-image required | string The Repository Image. Which can be found by List Repositories. |
| artifact-digest required | any The Artifact Digest. Which can be found by List Artifacts. |
curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}/artifact/{artifact-digest}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "artifact_type": "string",
- "digest": "string",
- "manifest_media_type": "string",
- "media_type": "string",
- "pull_time": "string",
- "push_time": "string",
- "repository_name": "string",
- "size": 0,
- "type": "string",
- "tags": [ ]
}Deletes an Artifact from a Container Registry Repository
| registry-id required | string The Registry ID. Which can be found by List Registries. |
| repository-image required | string The Repository Image. Which can be found by List Repositories. |
| artifact-digest required | any The Artifact Digest. Which can be found by List Artifacts. |
curl "https://api.vultr.com/v2/registry/{registry-id}/repository/{repository-image}/artifact/{artifact-digest}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List All Regions where a Container Registry can be deployed
curl "https://api.vultr.com/v2/registry/region/list" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "regions": [
- {
- "id": 0,
- "name": "string",
- "urn": "string",
- "base_url": "string",
- "public": true,
- "added_at": "string",
- "updated_at": "string",
- "data_center": { }
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}List All Plans to help choose which one is the best fit for your Container Registry
curl "https://api.vultr.com/v2/registry/plan/list" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "plans": {
- "start_up": {
- "vanity_name": "string",
- "max_storage_mb": 0,
- "monthly_price": 0
}, - "business": {
- "vanity_name": "string",
- "max_storage_mb": 0,
- "monthly_price": 0
}, - "premium": {
- "vanity_name": "string",
- "max_storage_mb": 0,
- "monthly_price": 0
}, - "enterprise": {
- "vanity_name": "string",
- "max_storage_mb": 0,
- "monthly_price": 0
}
}
}Vultr offers free DNS hosting for customers' domains. The nameservers are on an AnyCAST network and ensure fast DNS resolution. When you manage your DNS through the API, you can view the results in your customer portal.
List all DNS Domains in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/domains" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "domains": [
- {
- "domain": "example.com",
- "date_created": "2020-10-10T01:56:20+00:00",
- "dns_sec": "enabled"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a DNS Domain for domain. If no ip address is supplied a domain with no records will be created.
Include a JSON object in the request body with a content type of application/json.
| domain required | string Your registered DNS Domain name. |
| ip | string The default IP address for your DNS Domain. If omitted an empty domain zone will be created. |
| dns_sec | string Enable or disable DNSSEC.
|
{- "domain": "example.com",
- "ip": "192.0.2.123",
- "dns_sec": "enabled"
}{- "domain": {
- "domain": "example.com",
- "date_created": "2020-10-10T01:56:20+00:00",
- "dns_sec": "enabled"
}
}Get information for the DNS Domain.
| dns-domain required | string The DNS Domain. |
curl "https://api.vultr.com/v2/domains/{dns-domain}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "domain": {
- "domain": "example.com",
- "date_created": "2020-10-10T01:56:20+00:00",
- "dns_sec": "enabled"
}
}Delete the DNS Domain.
| dns-domain required | string The DNS Domain. |
curl "https://api.vultr.com/v2/domains/{dns-domain}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update the DNS Domain.
| dns-domain required | string The DNS Domain. |
Include a JSON object in the request body with a content type of application/json.
| dns_sec required | string Enable or disable DNSSEC.
|
{- "dns_sec": "enabled"
}Get SOA information for the DNS Domain.
| dns-domain required | string The DNS Domain. |
curl "https://api.vultr.com/v2/domains/{dns-domain}/soa" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "dns_soa": {
- "nsprimary": "ns1.vultr.com",
- "email": "admin@example.com"
}
}Update the SOA information for the DNS Domain. All attributes are optional. If not set, the attributes will retain their original values.
| dns-domain required | string The DNS Domain. |
Include a JSON object in the request body with a content type of application/json.
| nsprimary | string Set the primary nameserver. |
string Set the contact email address. |
{- "nsprimary": "ns1.vultr.com",
- "email": "admin@example.com"
}Get the DNSSEC information for the DNS Domain.
| dns-domain required | string The DNS Domain. |
curl "https://api.vultr.com/v2/domains/{dns-domain}/dnssec" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "dns_sec": [
- "example.com IN DNSKEY 257 3 13 kRrxANp7YTGqVbaWtMy8hhsK0jcG4ajjICZKMb4fKv79Vx/RSn76vNjzIT7/Uo0BXil01Fk8RRQc4nWZctGJBA==",
- "example.com IN DS 27933 13 1 2d9ac457e5c11a104e25d971d0a6254562bddde7",
- "example.com IN DS 27933 13 2 8858e7b0dfb881280ce2ca1e0eafcd93d5b53687c21da284d4f8799ba82208a9"
]
}Create a DNS record.
| dns-domain required | string The DNS Domain. |
Include a JSON object in the request body with a content type of application/json.
| name required | string The hostname for this DNS record. |
| type required | string The DNS record type.
|
| data required | string The DNS data for this record type. |
| ttl | integer Time to Live in seconds. |
| priority | integer DNS priority. Does not apply to all record types. (Only required for MX and SRV) |
{- "name": "www",
- "type": "A",
- "data": "192.0.2.123",
- "ttl": 300,
- "priority": 0
}{- "record": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "type": "A",
- "name": "www",
- "data": "192.0.2.123",
- "priority": 0,
- "ttl": 300
}
}Get the DNS records for the Domain.
| dns-domain required | string The DNS Domain. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/domains/{dns-domain}/records" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "records": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "type": "A",
- "name": "foo.example.com",
- "data": "192.0.2.123",
- "priority": 0,
- "ttl": 300
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get information for a DNS Record.
| dns-domain required | string The DNS Domain. |
| record-id required | string The DNS Record id. |
curl "https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "record": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "type": "A",
- "name": "www",
- "data": "192.0.2.123",
- "priority": 0,
- "ttl": 300
}
}Update the information for a DNS record. All attributes are optional. If not set, the attributes will retain their original values.
| dns-domain required | string The DNS Domain. |
| record-id required | string The DNS Record id. |
Include a JSON object in the request body with a content type of application/json.
| name | string The hostname for this DNS record. |
| data | string The DNS data for this record type. |
| ttl | integer Time to Live in seconds. |
| priority | integer DNS priority. Does not apply to all record types. |
{- "name": "CNAME",
- "data": "foo.example.com",
- "ttl": 300,
- "priority": 0
}Delete the DNS record.
| dns-domain required | string The DNS Domain. |
| record-id required | string The DNS Record id. |
curl "https://api.vultr.com/v2/domains/{dns-domain}/records/{record-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Vultr offers a web-based firewall solution to protect one or more compute instances. Firewall groups can manage multiple servers with a standard ruleset. You can control multiple groups with the API.
Get a list of all Firewall Groups.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/firewalls" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_groups": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "description": "Example Firewall Group",
- "date_created": "2020-10-10T01:56:20+00:00",
- "date_modified": "2020-10-10T01:59:20+00:00",
- "instance_count": 0,
- "rule_count": 0,
- "max_rule_count": 50
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new Firewall Group.
Include a JSON object in the request body with a content type of application/json.
| description | string User-supplied description of this Firewall Group. |
{- "description": "Example Firewall Group"
}{- "firewall_group": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "description": "Example Firewall Group",
- "date_created": "2020-10-10T01:56:20+00:00",
- "date_modified": "2020-10-10T01:56:20+00:00",
- "instance_count": 0,
- "rule_count": 0,
- "max_rule_count": 50
}
}Get information for a Firewall Group.
| firewall-group-id required | string The Firewall Group id. |
curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_group": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "description": "Example Firewall Group",
- "date_created": "2020-10-10T01:56:20+00:00",
- "date_modified": "2020-10-10T01:56:20+00:00",
- "instance_count": 0,
- "rule_count": 0,
- "max_rule_count": 50
}
}Update information for a Firewall Group.
| firewall-group-id required | string The Firewall Group id. |
Include a JSON object in the request body with a content type of application/json.
| description required | string User-supplied description of this Firewall Group. |
{- "description": "Updated Firewall Group Name"
}Delete a Firewall Group.
| firewall-group-id required | string The Firewall Group id. |
curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get the Firewall Rules for a Firewall Group.
| firewall-group-id required | string The Firewall Group id. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_rules": [
- {
- "id": 1,
- "type": "v4",
- "ip_type": "v4",
- "action": "accept",
- "protocol": "tcp",
- "port": "80",
- "subnet": "192.0.2.0",
- "subnet_size": 24,
- "source": "",
- "notes": "Example Firewall Rule"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a Firewall Rule for a Firewall Group. The attributes ip_type, protocol, subnet, and subnet_size are required.
| firewall-group-id required | string The Firewall Group id. |
Include a JSON object in the request body with a content type of application/json.
| ip_type required | string The type of IP rule.
| ||||||||||||
| protocol required | string The protocol for this rule.
| ||||||||||||
| subnet required | string IP address representing a subnet. The IP address format must match with the "ip_type" parameter value. | ||||||||||||
| subnet_size required | integer The number of bits for the netmask in CIDR notation. Example: 32 | ||||||||||||
| port | string TCP/UDP only. This field can be a specific port or a colon separated port range. | ||||||||||||
| source | string If the source string is given a value of "cloudflare" subnet and subnet_size will both be ignored. Possible values:
| ||||||||||||
| notes | string User-supplied notes for this rule. |
{- "ip_type": "v4",
- "protocol": "tcp",
- "port": "80",
- "subnet": "192.0.2.0",
- "subnet_size": 24,
- "source": "",
- "notes": "Example Firewall Rule"
}{- "firewall_rule": {
- "id": 1,
- "type": "v4",
- "ip_type": "v4",
- "action": "accept",
- "protocol": "tcp",
- "port": "80",
- "subnet": "192.0.2.0",
- "subnet_size": 24,
- "source": "",
- "notes": "Example Firewall Rule"
}
}Delete a Firewall Rule.
| firewall-group-id required | string The Firewall Group id. |
| firewall-rule-id required | string The Firewall Rule id. |
curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules/{firewall-rule-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get a Firewall Rule.
| firewall-group-id required | string The Firewall Group id. |
| firewall-rule-id required | string The Firewall Rule id. |
curl "https://api.vultr.com/v2/firewalls/{firewall-group-id}/rules/{firewall-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_rule": {
- "id": 1,
- "type": "v4",
- "ip_type": "v4",
- "action": "accept",
- "protocol": "tcp",
- "port": "80",
- "subnet": "192.0.2.0",
- "subnet_size": 24,
- "source": "",
- "notes": "Example Firewall Rule"
}
}Identity and Access Management (IAM) allows you to manage policies, roles, groups, and invitations to control access to Vultr resources.
Get a list of all Policies in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/policies" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policies": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "policy_document": { },
- "version": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "is_system_policy": true
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new IAM Policy.
| name | string The policy name. |
| description | string A description of the policy. |
| policy_document | object The policy document defining permissions. |
| version | string The policy version. Default is 2012-10-17. |
{- "name": "string",
- "description": "string",
- "policy_document": { },
- "version": "string"
}{- "policy": {
- "id": "string",
- "name": "string",
- "description": "string",
- "policy_document": { },
- "version": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "is_system_policy": true
}
}Get information about a Policy.
| id required | string The Policy ID. |
curl "https://api.vultr.com/v2/policies/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy": {
- "id": "string",
- "name": "string",
- "description": "string",
- "policy_document": { },
- "version": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "is_system_policy": true
}
}Update a Policy.
| id required | string The Policy ID. |
| name | string The policy name. |
| description | string A description of the policy. |
| policy_document | object The policy document defining permissions. |
{- "name": "string",
- "description": "string",
- "policy_document": { }
}{- "policy": {
- "id": "string",
- "name": "string",
- "description": "string",
- "policy_document": { },
- "version": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "is_system_policy": true
}
}Restore a soft-deleted Policy.
| id required | string The Policy ID. |
curl "https://api.vultr.com/v2/policies/{id}/restore" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy": {
- "id": "string",
- "name": "string",
- "description": "string",
- "policy_document": { },
- "version": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "is_system_policy": true
}
}List the Groups attached to a Policy.
| policy_id required | string The Policy ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/policies/{policy_id}/groups" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy_group_relationships": [
- {
- "group_id": "string",
- "group_name": "string",
- "policy_id": "string",
- "policy_name": "string",
- "policy_description": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Attach a Group to a Policy.
| policy_id required | string The Policy ID. |
| group_id required | string The Group ID. |
curl "https://api.vultr.com/v2/policies/{policy_id}/groups/{group_id}" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy_group_relationship": {
- "group_id": "string",
- "group_name": "string",
- "policy_id": "string",
- "policy_name": "string",
- "policy_description": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
}Detach a Group from a Policy.
| policy_id required | string The Policy ID. |
| group_id required | string The Group ID. |
curl "https://api.vultr.com/v2/policies/{policy_id}/groups/{group_id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List the Users attached to a Policy.
| policy_id required | string The Policy ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/policies/{policy_id}/users" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy_user_relationships": [
- {
- "user_id": "string",
- "policy_id": "string",
- "policy_name": "string",
- "policy_description": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Attach a User to a Policy.
| policy_id required | string The Policy ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/policies/{policy_id}/users/{user_id}" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy_user_relationship": {
- "user_id": "string",
- "policy_id": "string",
- "policy_name": "string",
- "policy_description": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
}Detach a User from a Policy.
| policy_id required | string The Policy ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/policies/{policy_id}/users/{user_id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get a list of all Roles in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/roles" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "roles": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "role_type": "user",
- "max_session_duration": 0,
- "date_created": "2019-08-24T14:15:22Z",
- "policies": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
]
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new IAM Role.
| name | string The role name. |
| description | string A description of the role. |
| role_type | string The role type. Default is |
| max_session_duration | integer Maximum session duration in seconds. Default is 3600. |
{- "name": "string",
- "description": "string",
- "role_type": "string",
- "max_session_duration": 0
}{- "role": {
- "id": "string",
- "name": "string",
- "description": "string",
- "role_type": "user",
- "max_session_duration": 0,
- "date_created": "2019-08-24T14:15:22Z",
- "policies": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
]
}
}Get information about a Role.
| id required | string The Role ID. |
curl "https://api.vultr.com/v2/roles/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role": {
- "id": "string",
- "name": "string",
- "description": "string",
- "role_type": "user",
- "max_session_duration": 0,
- "date_created": "2019-08-24T14:15:22Z",
- "policies": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
]
}
}Update a Role.
| id required | string The Role ID. |
| name | string The role name. |
| description | string A description of the role. |
| role_type | string The role type. |
| max_session_duration | integer Maximum session duration in seconds. |
{- "name": "string",
- "description": "string",
- "role_type": "string",
- "max_session_duration": 0
}{- "role": {
- "id": "string",
- "name": "string",
- "description": "string",
- "role_type": "user",
- "max_session_duration": 0,
- "date_created": "2019-08-24T14:15:22Z",
- "policies": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
]
}
}Restore a soft-deleted Role.
| id required | string The Role ID. |
curl "https://api.vultr.com/v2/roles/{id}/restore" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role": {
- "id": "string",
- "name": "string",
- "description": "string",
- "role_type": "user",
- "max_session_duration": 0,
- "date_created": "2019-08-24T14:15:22Z",
- "policies": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
]
}
}List the Groups assigned to a Role.
| role_id required | string The Role ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/roles/{role_id}/groups" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_group_relationships": [
- {
- "group_id": "string",
- "group_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Assign a Group to a Role.
| role_id required | string The Role ID. |
| group_id required | string The Group ID. |
curl "https://api.vultr.com/v2/roles/{role_id}/groups/{group_id}" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_group_relationship": {
- "group_id": "string",
- "group_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
}Remove a Group from a Role.
| role_id required | string The Role ID. |
| group_id required | string The Group ID. |
curl "https://api.vultr.com/v2/roles/{role_id}/groups/{group_id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List the Users assigned to a Role.
| role_id required | string The Role ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/roles/{role_id}/users" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_user_relationships": [
- {
- "user_id": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Assign a User to a Role.
| role_id required | string The Role ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/roles/{role_id}/users/{user_id}" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_user_relationship": {
- "user_id": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
}Remove a User from a Role.
| role_id required | string The Role ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/roles/{role_id}/users/{user_id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List the Policies assigned to a Role.
| role_id required | string The Role ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/roles/{role_id}/policies" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_policy_relationships": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Assign a Policy to a Role by policy_id in the request body. Deprecated; use POST /v2/roles/{role_id}/policies/{policy_id} instead.
| role_id required | string The Role ID. |
| policy_id | string The Policy ID to assign to the role. |
{- "policy_id": "string"
}{- "role_policy_relationship": {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
}Assign a Policy to a Role.
| role_id required | string The Role ID. |
| policy_id required | string The Policy ID. |
curl "https://api.vultr.com/v2/roles/{role_id}/policies/{policy_id}" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_policy_relationship": {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
}Remove a Policy from a Role.
| role_id required | string The Role ID. |
| policy_id required | string The Policy ID. |
curl "https://api.vultr.com/v2/roles/{role_id}/policies/{policy_id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get a list of all Groups in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/groups" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "groups": [
- {
- "id": "string",
- "display_name": "string",
- "description": "string",
- "status": "active",
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "last_activity": "string",
- "members": [
- {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
]
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new IAM Group.
| display_name | string The group display name. |
| description | string A description of the group. |
{- "display_name": "string",
- "description": "string"
}{- "group": {
- "id": "string",
- "display_name": "string",
- "description": "string",
- "status": "active",
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "last_activity": "string",
- "members": [
- {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
]
}
}Get information about a Group.
| id required | string The Group ID. |
| show_last_activity | boolean Set to |
curl "https://api.vultr.com/v2/groups/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "group": {
- "id": "string",
- "display_name": "string",
- "description": "string",
- "status": "active",
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "last_activity": "string",
- "members": [
- {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
]
}
}Update a Group.
| id required | string The Group ID. |
| display_name | string The group display name. |
| description | string A description of the group. |
{- "display_name": "string",
- "description": "string"
}{- "group": {
- "id": "string",
- "display_name": "string",
- "description": "string",
- "status": "active",
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "last_activity": "string",
- "members": [
- {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
]
}
}List all Members in a Group.
| group_id required | string The Group ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/groups/{group_id}/members" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "members": [
- {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Add a User to a Group.
| group_id required | string The Group ID. |
| display_name | string The User ID or display name to add to the group. |
{- "display_name": "string"
}{- "group_member": {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
}Get information about a Group Member.
| group_id required | string The Group ID. |
| id required | string The Group Member ID. |
curl "https://api.vultr.com/v2/groups/{group_id}/members/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "group_member": {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
}Remove a Member from a Group.
| group_id required | string The Group ID. |
| id required | string The Group Member ID. |
curl "https://api.vultr.com/v2/groups/{group_id}/members/{id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Restore a soft-deleted Group Member.
| group_id required | string The Group ID. |
| id required | string The Group Member ID. |
curl "https://api.vultr.com/v2/groups/{group_id}/members/{id}" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "group_member": {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
}List the Roles assigned to a Group.
| id required | string The Group ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/groups/{id}/roles" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_group_relationships": [
- {
- "group_id": "string",
- "group_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}List the Policies assigned to a Group.
| id required | string The Group ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/groups/{id}/policies" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "policy_group_relationships": [
- {
- "group_id": "string",
- "group_name": "string",
- "policy_id": "string",
- "policy_name": "string",
- "policy_description": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Get a list of all Role Trusts in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/role-trusts" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_trusts": [
- {
- "id": "string",
- "role_name": "string",
- "role_id": "string",
- "trust_type": "user",
- "trusted_oidc_issuer_id": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "user_display": "string",
- "group_display": "string",
- "conditions": { },
- "valid_until": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new Role Trust.
| role_id | string The Role ID this trust applies to. |
| trust_type | string The trust type: TemporaryAssumption, FederatedAssumption, or IAMAssumption. |
| trusted_user_id | string The trusted User ID (for TemporaryAssumption or IAMAssumption). |
| trusted_group_id | string The trusted Group ID. |
| trusted_oidc_issuer_id | string The trusted OIDC Issuer ID (for FederatedAssumption). |
| conditions | object Conditions that must be met for the trust to apply. |
| valid_until | string Expiration date of the trust (ISO 8601). |
{- "role_id": "string",
- "trust_type": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "trusted_oidc_issuer_id": "string",
- "conditions": { },
- "valid_until": "string"
}{- "role_trust": {
- "id": "string",
- "role_name": "string",
- "role_id": "string",
- "trust_type": "user",
- "trusted_oidc_issuer_id": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "user_display": "string",
- "group_display": "string",
- "conditions": { },
- "valid_until": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z"
}
}Get information about a Role Trust.
| id required | string The Role Trust ID. |
curl "https://api.vultr.com/v2/role-trusts/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_trust": {
- "id": "string",
- "role_name": "string",
- "role_id": "string",
- "trust_type": "user",
- "trusted_oidc_issuer_id": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "user_display": "string",
- "group_display": "string",
- "conditions": { },
- "valid_until": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z"
}
}Update a Role Trust.
| id required | string The Role Trust ID. |
| trust_type | string The trust type: TemporaryAssumption, FederatedAssumption, or IAMAssumption. |
| trusted_user_id | string The trusted User ID. |
| trusted_group_id | string The trusted Group ID. |
| trusted_oidc_issuer_id | string The trusted OIDC Issuer ID. |
| conditions | object Conditions that must be met for the trust to apply. |
| valid_until | string Expiration date of the trust (ISO 8601). |
{- "trust_type": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "trusted_oidc_issuer_id": "string",
- "conditions": { },
- "valid_until": "string"
}{- "role_trust": {
- "id": "string",
- "role_name": "string",
- "role_id": "string",
- "trust_type": "user",
- "trusted_oidc_issuer_id": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "user_display": "string",
- "group_display": "string",
- "conditions": { },
- "valid_until": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z"
}
}Restore a soft-deleted Role Trust.
| id required | string The Role Trust ID. |
curl "https://api.vultr.com/v2/role-trusts/{id}/restore" \ -X PATCH \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_trust": {
- "id": "string",
- "role_name": "string",
- "role_id": "string",
- "trust_type": "user",
- "trusted_oidc_issuer_id": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "user_display": "string",
- "group_display": "string",
- "conditions": { },
- "valid_until": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z"
}
}List all Role Trusts for a specific Role.
| role_id required | string The Role ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/role-trusts/by-role/{role_id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "role_trusts": [
- {
- "id": "string",
- "role_name": "string",
- "role_id": "string",
- "trust_type": "user",
- "trusted_oidc_issuer_id": "string",
- "trusted_user_id": "string",
- "trusted_group_id": "string",
- "user_display": "string",
- "group_display": "string",
- "conditions": { },
- "valid_until": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}List all Roles that a User can assume.
| user_id required | string The User ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/role-trusts/assumable/{user_id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "roles": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "role_type": "user",
- "max_session_duration": 0,
- "date_created": "2019-08-24T14:15:22Z",
- "policies": [
- {
- "policy_id": "string",
- "policy_name": "string",
- "role_id": "string",
- "role_name": "string",
- "role_description": "string",
- "role_type": "string",
- "date_assigned": "2019-08-24T14:15:22Z",
- "assigned_by": "string"
}
]
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}AWS STS-compatible AssumeRole endpoint. Accepts application/x-www-form-urlencoded and returns XML.
| Action | string The STS action. Must be |
| RoleArn | string The role ARN in format |
| RoleSessionName | string A name for the assumed-role session. |
| DurationSeconds | integer Session duration in seconds. |
curl "https://api.vultr.com/v2/assumed-roles/compatibility/aws/sts" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}" \ -H "Content-Type: application/x-www-form-urlencoded" \ --data "Action=AssumeRole&RoleArn=arn:vultr:iam::orgid:role/role-id&RoleSessionName=my-session"
Create an assumed-role session by assuming an IAM Role.
| role_id | string The Role ID to assume. |
| session_name | string A name for the session. |
| duration | integer Session duration in seconds. Default is 3600. |
{- "role_id": "string",
- "session_name": "string",
- "duration": 0
}{- "assumed_role_session": {
- "id": "string",
- "session_token": "string",
- "user_id": "string",
- "oidc_issuer_id": "string",
- "role_id": "string",
- "session_name": "string",
- "auth_method": "string",
- "expires_at": "2019-08-24T14:15:22Z",
- "assumed_at": "2019-08-24T14:15:22Z",
- "remaining_duration": 0,
- "conditions_met": true,
- "source_ip": "string",
- "s3_credentials": { }
}
}List all assumed-role sessions for a User.
| user_id required | string The User ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/assumed-roles/users/{user_id}/sessions" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "assumed_role_sessions": [
- {
- "id": "string",
- "session_token": "string",
- "user_id": "string",
- "oidc_issuer_id": "string",
- "role_id": "string",
- "session_name": "string",
- "auth_method": "string",
- "expires_at": "2019-08-24T14:15:22Z",
- "assumed_at": "2019-08-24T14:15:22Z",
- "remaining_duration": 0,
- "conditions_met": true,
- "source_ip": "string",
- "s3_credentials": { }
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Vultr Cloud instances can be deployed with your preferred operating system or pre-installed application in seconds. High Frequency Compute instances are powered by high clock speed CPU's and NVMe local storage to power your most demanding applications. Dedicated Cloud instances have dedicated CPU, SSD drives, and RAM.
Note: Do not use this endpoint to manage Kubernetes cluster nodes as it may result in unintended issues and charges. Use the kubernetes endpoint instead.
List all VPS instances in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
| tag | string Deprecated Filter by specific tag. |
| label | string Filter by label. |
| main_ip | string Filter by main ip address. |
| region | string Filter by Region id. |
| firewall_group_id | string Filter by Firewall group id. |
| hostname | string Filter by hostname. |
| show_pending_charges | boolean Set to |
curl "https://api.vultr.com/v2/instances" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "instances": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "CentOS SELinux 8 x64",
- "ram": 2048,
- "disk": 55,
- "main_ip": "192.0.2.123",
- "vcpu_count": 1,
- "region": "atl",
- "plan": "vc2-6c-16gb",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "active",
- "allowed_bandwidth": 2000,
- "netmask_v4": "255.255.252.0",
- "gateway_v4": "192.0.2.1",
- "power_status": "running",
- "server_status": "ok",
- "v6_network": "2001:0db8:1112:18fb::",
- "v6_main_ip": "2001:0db8:1112:18fb:0200:00ff:fe00:0000",
- "v6_network_size": 64,
- "label": "Example Instance",
- "internal_ip": "",
- "vpc_only": false,
- "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}, - {
- "id": "090a49c0-a1a2-4aab-a263-5d58f180c905",
- "version": 2,
- "subnet": "10.1.128.3"
}
], - "hostname": "my_hostname",
- "os_id": 215,
- "app_id": 0,
- "image_id": "",
- "snapshot_id": "",
- "firewall_group_id": "",
- "features": [
- "ddos_protection",
- "ipv6",
- "auto_backups"
], - "tags": [
- "a tag",
- "another"
], - "user_scheme": "root",
- "pending_charges": 5.42
}
], - "meta": {
- "total": 3,
- "links": {
- "next": "WxYzExampleNext",
- "prev": ""
}
}
}Create a new VPS Instance in a region with the desired plan. Choose one of the following to deploy the instance:
os_idiso_idsnapshot_idapp_idimage_idSupply other attributes as desired.
Include a JSON object in the request body with a content type of application/json.
| region required | string The Region id where the Instance is located. |
| plan required | string The Plan id to use when deploying this instance. |
| os_id | integer The Operating System id to use when deploying this instance. |
| ipxe_chain_url | string The URL location of the iPXE chainloader. |
| iso_id | string The ISO id to use when deploying this instance. |
| script_id | string The Startup Script id to use when deploying this instance. |
| snapshot_id | string The Snapshot id to use when deploying the instance. |
| enable_ipv6 | boolean Enable IPv6.
|
| disable_public_ipv4 | boolean Don't set up a public IPv4 address when IPv6 is enabled. Will not do anything unless
|
| attach_private_network | Array of strings Deprecated Use |
| attach_vpc | Array of strings An array of VPC IDs to attach to this Instance. This parameter takes precedence over |
| attach_vpc2 | Array of strings Deprecated Use |
| label | string A user-supplied label for this instance. |
| sshkey_id | Array of strings The SSH Key id to install on this instance. |
| backups | string Enable automatic backups for the instance (does not work for VX1 block storage).
|
| block_devices | Array of objects Available for VX1 instances: Define your block devices, create bootable block devices, use local storage (if plan has local storage) as scratch disk. Local Only:
Local Boot + New Block:
Bootable Block (new):
Bootable Block (existing):
Bootable Block (existing) and Local NVMe:
|
| app_id | integer The Application id to use when deploying this instance. |
| image_id | string The Application image_id to use when deploying this instance. |
| user_data | string The user-supplied, base64 encoded user data to attach to this instance. |
| ddos_protection | boolean Enable DDoS protection (there is an additional charge for this).
|
| activation_email | boolean Notify by email after deployment.
|
| hostname | string The hostname to use when deploying this instance. |
| tag | string Deprecated Use |
| firewall_group_id | string The Firewall Group id to attach to this Instance. |
| reserved_ipv4 | string ID of the floating IP to use as the main IP of this server. |
| enable_private_network | boolean Deprecated Use If This parameter attaches a single network. When no network exists in the region, it will be automatically created. If there are multiple private networks in the instance's region, use |
| enable_vpc | boolean If This parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created. If there are multiple VPCs in the instance's region, use |
| enable_vpc2 | boolean Deprecated Use If This parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use |
| vpc_only | boolean if A This VPS will gain access to the internet via the NAT Gateway attached to the VPC. |
| tags | Array of strings Tags to apply to the instance |
| user_scheme | string Linux-only: The user scheme used for logging into this instance. By default, the "root" user is configured. Alternatively, a limited user with sudo permissions can be selected.
|
| app_variables | object The app variable inputs for configuring the marketplace app (name/value pairs). |
{- "region": "ewr",
- "plan": "vc2-6c-16gb",
- "label": "Example Instance",
- "os_id": 215,
- "user_data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ==",
- "backups": "enabled",
- "hostname": "my_hostname",
- "tags": [
- "a tag",
- "another"
]
}{- "instance": {
- "id": "4f0f12e5-1f84-404f-aa84-85f431ea5ec2",
- "os": "CentOS 8 Stream",
- "ram": 1024,
- "disk": 0,
- "main_ip": "0.0.0.0",
- "vcpu_count": 1,
- "region": "ewr",
- "plan": "vc2-1c-1gb",
- "date_created": "2021-09-14T13:22:20+00:00",
- "status": "pending",
- "allowed_bandwidth": 1000,
- "netmask_v4": "",
- "gateway_v4": "0.0.0.0",
- "power_status": "running",
- "server_status": "none",
- "v6_network": "",
- "v6_main_ip": "",
- "v6_network_size": 0,
- "label": "",
- "internal_ip": "",
- "vpc_only": false,
- "kvm": "",
- "hostname": "my_hostname",
- "os_id": 401,
- "app_id": 0,
- "image_id": "",
- "snapshot_id": "",
- "firewall_group_id": "",
- "features": [ ],
- "default_password": "v5{Fkvb#2ycPGwHs",
- "tags": [
- "a tag",
- "another"
], - "user_scheme": "root"
}
}Get information about an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "instance": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Ubuntu 20.04 x64",
- "ram": 16384,
- "disk": 384,
- "main_ip": "192.0.2.123",
- "vcpu_count": 4,
- "region": "ewr",
- "plan": "vc2-6c-16gb",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "active",
- "allowed_bandwidth": 5000,
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "power_status": "running",
- "server_status": "ok",
- "v6_network": "",
- "v6_main_ip": "",
- "v6_network_size": 0,
- "label": "Example Instance",
- "internal_ip": "",
- "vpc_only": false,
- "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}, - {
- "id": "090a49c0-a1a2-4aab-a263-5d58f180c905",
- "version": 2,
- "subnet": "10.1.128.3"
}
], - "hostname": "my_hostname",
- "os_id": 215,
- "app_id": 0,
- "image_id": "",
- "snapshot_id": "",
- "firewall_group_id": "",
- "features": [
- "ddos_protection",
- "ipv6",
- "auto_backups"
], - "tags": [
- "a tag",
- "another"
], - "user_scheme": "root",
- "pending_charges": 5.42
}
}Update information for an Instance. All attributes are optional. If not set, the attributes will retain their original values.
Note: Changing os_id, app_id or image_id may take a few extra seconds to complete.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| app_id | integer Reinstall the instance with this Application id. |
| image_id | string Reinstall the instance with this Application image_id. |
| backups | string Enable automatic backups for the instance.
|
| firewall_group_id | string The Firewall Group id to attach to this Instance. |
| enable_ipv6 | boolean Enable IPv6.
|
| os_id | string Reinstall the instance with this ISO id. |
| user_data | string The user-supplied, base64 encoded user data to attach to this instance. |
| tag | string Deprecated Use |
| plan | string Upgrade the instance with this Plan id. |
| ddos_protection | boolean Enable DDoS Protection (there is an additional charge for this).
|
| attach_private_network | Array of strings Deprecated Use |
| attach_vpc | Array of strings An array of VPC IDs to attach to this Instance. This parameter takes precedence over |
| attach_vpc2 | Array of strings Deprecated Use |
| detach_private_network | Array of strings Deprecated Use |
| detach_vpc | Array of strings An array of VPC IDs to detach from this Instance. This parameter takes precedence over |
| detach_vpc2 | Array of strings Deprecated Use |
| enable_private_network | boolean Deprecated Use If This parameter attaches a single network. When no network exists in the region, it will be automatically created. If there are multiple private networks in the instance's region, use |
| enable_vpc | boolean If This parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created. If there are multiple VPCs in the instance's region, use |
| enable_vpc2 | boolean Deprecated Use If This parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created. If there are multiple VPC 2.0 networks in the instance's region, use |
| label | string The user supplied label. |
| tags | Array of strings Tags to apply to the instance. |
| user_scheme | string Linux-only: The user scheme used for logging into this instance. The instance must be reinstalled for this change to take effect.
|
{- "label": "Example Instance",
- "tags": [
- "a tag",
- "another"
], - "plan": "vc2-24c-97gb"
}{- "instance": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Ubuntu 20.04 x64",
- "ram": 16384,
- "disk": 384,
- "main_ip": "192.0.2.123",
- "vcpu_count": 4,
- "region": "ewr",
- "plan": "vc2-24c-97gb",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "active",
- "allowed_bandwidth": 5000,
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "power_status": "running",
- "server_status": "ok",
- "v6_network": "",
- "v6_main_ip": "",
- "v6_network_size": 0,
- "label": "Example Instance",
- "internal_ip": "",
- "vpc_only": false,
- "hostname": "my_hostname",
- "os_id": 215,
- "app_id": 0,
- "image_id": "",
- "snapshot_id": "",
- "firewall_group_id": "",
- "features": [
- "ddos_protection",
- "ipv6",
- "auto_backups"
], - "tags": [
- "a tag",
- "another"
], - "user_scheme": "root"
}, - "job_ids": [
- "b3123d06-ec83-456c-ac71-ae8c4bc95e18"
]
}Delete an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Halt Instances.
Include a JSON object in the request body with a content type of application/json.
| instance_ids | Array of strings The Instance IDs to halt. |
{- "instance_ids": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
- "c2790719-278d-474c-8dff-cb35d6e5503f"
]
}Reboot Instances.
Include a JSON object in the request body with a content type of application/json.
| instance_ids | Array of strings The Instance IDs to reboot. |
{- "instance_ids": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
- "c2790719-278d-474c-8dff-cb35d6e5503f"
]
}Start Instances.
Include a JSON object in the request body with a content type of application/json.
| instance_ids | Array of strings The Instance IDs to start. |
{- "instance_ids": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "1d651bd2-b93c-4bb6-8b91-0546fd765f15",
- "c2790719-278d-474c-8dff-cb35d6e5503f"
]
}Start an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/start" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Reboot an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/reboot" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Reinstall an Instance using an optional hostname.
Note: This action may take a few extra seconds to complete.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| hostname | string The hostname to use when reinstalling this instance. |
{- "hostname": "my_new_hostname"
}{- "instance": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "os": "Ubuntu 20.04 x64",
- "ram": 16384,
- "disk": 384,
- "main_ip": "192.0.2.123",
- "vcpu_count": 4,
- "region": "ewr",
- "plan": "vc2-6c-16gb",
- "date_created": "2020-10-10T01:56:20+00:00",
- "status": "active",
- "allowed_bandwidth": 5000,
- "netmask_v4": "255.255.254.0",
- "gateway_v4": "192.0.2.1",
- "power_status": "running",
- "server_status": "ok",
- "v6_network": "",
- "v6_main_ip": "",
- "v6_network_size": 0,
- "label": "Example Instance",
- "internal_ip": "",
- "vpc_only": false,
- "hostname": "my_new_hostname",
- "tag": "Example Tag",
- "os_id": 215,
- "app_id": 0,
- "image_id": "",
- "snapshot_id": "",
- "firewall_group_id": "",
- "features": [
- "ddos_protection",
- "ipv6",
- "auto_backups"
]
}
}Get bandwidth information about an Instance.
The bandwidth object in a successful response contains objects representing a day in the month. The date is denoted by the nested object keys. Days begin and end in the UTC timezone. The bandwidth utilization data contained within the date object is refreshed periodically. We do not recommend using this endpoint to gather real-time metrics.
| instance-id required | string The Instance ID. |
| date_range | integer The range of days to include, represented as the number of days relative to the current date. Default 30, Minimum 1 and Max 180. |
curl "https://api.vultr.com/v2/instances/{instance-id}/bandwidth" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "bandwidth": {
- "2020-07-25": {
- "incoming_bytes": 15989787,
- "outgoing_bytes": 25327729
}, - "2020-07-26": {
- "incoming_bytes": 13964112,
- "outgoing_bytes": 22257069
}
}
}Get a list of other instances in the same location as this Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/neighbors" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "neighbors": [
- "478dbfe7-43f8-4dc8-940c-8bb61f547400",
- "a8047e6b-16bd-42be-8351-58df7e5ab89c"
]
}Deprecated: use List Instance VPCs instead.
List the private networks for an Instance.
| instance-id required | string The Instance ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/instances/{instance-id}/private-networks" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "private_networks": [
- {
- "network_id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
- "mac_address": "00:00:5e:00:53:5e",
- "ip_address": "10.99.0.123"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}List the VPCs for an Instance.
| instance-id required | string The Instance ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/instances/{instance-id}/vpcs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpcs": [
- {
- "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
- "mac_address": "00:00:5e:00:53:5e",
- "ip_address": "10.99.0.123"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}List the VPC 2.0 networks for an Instance.
Deprecated: Migrate to VPC Networks and use List Instance VPCs instead.
| instance-id required | string The Instance ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/instances/{instance-id}/vpc2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpcs": [
- {
- "id": "d325e78b-bcec-4d4e-b9b8-9c294f37b04d",
- "mac_address": "00:00:5e:00:53:5e",
- "ip_address": "10.99.0.123"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get the ISO status for an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/iso" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "iso_status": {
- "state": "ready",
- "iso_id": "0532a75b-14e8-48b8-b27e-1ebcf382a804"
}
}Attach an ISO to an Instance.
| instance-id required | string |
Include a JSON object in the request body with a content type of application/json.
| iso_id | string The ISO id to attach to this Instance. |
{- "iso_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}{- "iso_status": {
- "status": "ismounting",
- "iso_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}
}Detach the ISO from an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/iso/detach" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "iso_status": {
- "status": "isunmounting"
}
}Attach Private Network to an Instance.
Deprecated: use Attach VPC to Instance instead.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| network_id | string The Private Network id to attach to this Instance. |
{- "network_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}Detach Private Network from an Instance.
Deprecated: use Detach VPC from Instance instead.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| network_id | string The Private Network id to detach from this Instance. |
{- "network_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}Attach a VPC to an Instance.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id | string The VPC ID to attach to this Instance. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}Detach a VPC from an Instance.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id | string The VPC ID to detach from this Instance. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}Attach a VPC 2.0 Network to an Instance.
Deprecated: Migrate to VPC Networks and use Attach VPC to Instance instead.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id required | string The VPC ID to attach to this Instance. |
| ip_address | string The IP address to use for this instance on the attached VPC 2.0 network. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "ip_address": "10.1.144.4"
}Detach a VPC 2.0 Network from an Instance.
Deprecated: Migrate to VPC Networks and use Detach VPC from Instance instead.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| vpc_id required | string The VPC ID to detach from this Instance. |
{- "vpc_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}Set the backup schedule for an Instance in UTC. The type is required.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| type required | string Type of backup schedule:
| ||||||||||||||||||||||||
| hour | integer Hour of day to run in UTC. | ||||||||||||||||||||||||
| dow | integer Day of week to run.
| ||||||||||||||||||||||||
| dom | integer Day of month to run. Use values between 1 and 28. |
{- "type": "daily",
- "hour": 10,
- "dow": 1,
- "dom": 1
}Get the backup schedule for an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/backup-schedule" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "backup_schedule": {
- "enabled": true,
- "type": "daily",
- "next_scheduled_time_utc": "2020-07-28 00:00:00",
- "hour": 10,
- "dow": 1,
- "dom": 1
}
}Restore an Instance from either backup_id or snapshot_id.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| backup_id | string The Backup id used to restore this instance. |
| snapshot_id | string The Snapshot id used to restore this instance. |
{- "backup_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
}{- "status": {
- "restore_type": "backup_id",
- "restore_id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "status": "inprogress"
}
}List the IPv4 information for an Instance.
| instance-id required | string The Instance ID. |
| public_network | boolean If |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/instances/{instance-id}/ipv4" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "ipv4s": [
- {
- "ip": "192.0.2.123",
- "netmask": "255.255.254.0",
- "gateway": "192.0.2.1",
- "type": "main_ip",
- "reverse": "host1.example.com"
}, - {
- "ip": "203.0.113.123",
- "netmask": "255.255.255.255",
- "gateway": "",
- "type": "secondary_ip",
- "reverse": "host2.example.com"
}, - {
- "ip": "10.99.0.123",
- "netmask": "255.255.0.0",
- "gateway": "",
- "type": "private",
- "reverse": ""
}
], - "meta": {
- "total": 3,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create an IPv4 address for an Instance.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| reboot | boolean Set if the server is rebooted immediately after the IPv4 address is created.
|
{- "reboot": true
}{- "ipv4": {
- "ip": "192.0.2.123",
- "netmask": "255.255.254.0",
- "gateway": "192.0.2.1",
- "type": "secondary_ip",
- "reverse": "192.0.2.123.vultr.com"
}
}Get the IPv6 information for an VPS Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "ipv6s": [
- {
- "ip": "2001:0db8:5:6bb:5400:02ff:fee5:3fe3",
- "network": "2001:0db8:5:6bb::",
- "network_size": 64,
- "type": "main_ip"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a reverse IPv6 entry for an Instance. The ip and reverse attributes are required. IP address must be in full, expanded format.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| ip required | string The IPv6 address in full, expanded format. |
| reverse required | string The IPv6 reverse entry. |
{- "ip": "2001:0db8:0005:6bb0:5400:2ff0:fee5:0002",
- "reverse": "foo.example.com"
}List the reverse IPv6 information for an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "reverse_ipv6s": [
- {
- "ip": "2001:0db8:5:6bb:5400:2ff:fee5:1",
- "reverse": "foo.example.com"
}
]
}Create a reverse IPv4 entry for an Instance. The ip and reverse attributes are required.
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| ip required | string The IPv4 address. |
| reverse required | string The IPv4 reverse entry. |
{- "ip": "192.0.2.123",
- "reverse": "foo.example.com"
}Get the user-supplied, base64 encoded user data for an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/user-data" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "user_data": {
- "data": "QmFzZTY0IEV4YW1wbGUgRGF0YQ=="
}
}Halt an Instance.
| instance-id required | string The Instance ID. |
curl "https://api.vultr.com/v2/instances/{instance-id}/halt" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Set a reverse DNS entry for an IPv4 address
| instance-id required | string The Instance ID. |
Include a JSON object in the request body with a content type of application/json.
| ip required | string |
{- "ip": "192.0.2.123"
}Delete an IPv4 address from an Instance.
| instance-id required | string The Instance ID. |
| ipv4 required | string The IPv4 address. |
curl "https://api.vultr.com/v2/instances/{instance-id}/ipv4/{ipv4}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Delete the reverse IPv6 for an Instance.
| instance-id required | string The Instance ID. |
| ipv6 required | string The IPv6 address. |
curl "https://api.vultr.com/v2/instances/{instance-id}/ipv6/reverse/{ipv6}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get available upgrades for an Instance
| instance-id required | string The Instance ID. |
| type | string Filter upgrade by type:
|
curl "https://api.vultr.com/v2/instances/{instance-id}/upgrades" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "upgrades": {
- "os": [
- {
- "id": 900,
- "name": "Example CentOS 6 x64",
- "arch": "x64",
- "family": "centos"
}, - {
- "id": 901,
- "name": "Example CentOS 6 i386",
- "arch": "i386",
- "family": "centos"
}
], - "applications": [
- {
- "id": 1,
- "name": "LEMP",
- "short_name": "lemp",
- "deploy_name": "LEMP on CentOS 6 x64",
- "type": "one-click",
- "vendor": "vultr",
- "image_id": ""
}, - {
- "id": 39,
- "name": "LEMP",
- "short_name": "lemp",
- "deploy_name": "LEMP on CentOS 7 x64",
- "type": "one-click",
- "vendor": "vultr",
- "image_id": ""
}, - {
- "id": 1028,
- "name": "OpenLiteSpeed WordPress",
- "short_name": "openlitespeedwordpress",
- "deploy_name": "OpenLiteSpeed WordPress on Ubuntu 20.04 x64",
- "type": "marketplace",
- "vendor": "LiteSpeed_Technologies",
- "image_id": "openlitespeed-wordpress"
}
], - "plans": [
- "vc2-2c-4gb",
- "vc2-4c-8gb",
- "vc2-6c-16gb",
- "vc2-8c-64gb",
- "vc2-16c-64gb",
- "vc2-24c-97gb"
]
}
}Get available information for an Instance job
| job-id required | string The Job ID. |
curl "https://api.vultr.com/v2/instances/jobs/{job-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "job": {
- "id": "b3123d06-ec83-456c-ac71-ae8c4bc95e18",
- "vps_id": "243f120d-400a-4060-b864-8b21d5b9cc2b",
- "type": "UPGRADE",
- "state": "success",
- "info": "Upgrade completed successfully!",
- "added_at": "2025-05-05 14:54:34",
- "updated_at": "2025-05-05 14:54:44"
}
}Upload and boot instances from your ISO, or choose one from our public ISO library. See our ISO documentation.
Get the ISOs in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/iso" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "isos": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "filename": "my-iso.iso",
- "size": 120586240,
- "md5sum": "77ba289bdc966ec996278a5a740d96d8",
- "sha512sum": "2b31b6fcab34d6ea9a6b293601c39b90cb044e5679fcc5",
- "status": "complete"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new ISO in your account from url.
Include a JSON object in the request body with a content type of application/json.
| url required | string Public URL location of the ISO image to download. Example: https://example.com/my-iso.iso |
{
}{- "iso": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "filename": "my-iso.iso",
- "status": "pending"
}
}Get information for an ISO.
| iso-id required | string The ISO id. |
curl "https://api.vultr.com/v2/iso/{iso-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "iso": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "filename": "my-iso.iso",
- "size": 120586240,
- "md5sum": "77ba289bdc966ec996278a5a740d96d8",
- "sha512sum": "2b31b6fcab34d6ea9a6b293601c39b90cb044e5679fcc5",
- "status": "complete"
}
}Delete an ISO.
| iso-id required | string The ISO id. |
curl "https://api.vultr.com/v2/iso/{iso-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
curl "https://api.vultr.com/v2/iso-public" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "public_isos": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b604",
- "name": "CentOS 7",
- "description": "7 x86_64 Minimal",
- "md5sum": "7f4df50f42ee1b52b193e79855a3aa19"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create Kubernetes Cluster
Request Body
| label | string The label for your Kubernetes cluster. |
| region required | string Region you want to deploy VKE in. See Regions for more information. |
| version required | string Version of Kubernetes you want to deploy. |
| vpc_id | string The VPC id to use when deploying this VKE. Omitting or leaving this empty will configure a new VPC network with this deployment. |
| ha_controlplanes | boolean Whether a highly available control planes configuration should be deployed
|
| enable_firewall | boolean Whether a Firewall Group should be deployed and managed by this cluster
|
object Configure OpenID Connect (OIDC) support for this VKE cluster | |
Array of objects |
{- "label": "vke",
- "region": "lax",
- "version": "v1.20.0+1",
- "node_pools": [
- {
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "label": "my-label",
- "plan": "vc2-1c-2gb",
- "tag": "my-tag"
}
]
}{- "vke_cluster": {
- "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
- "firewall_group_id": "",
- "label": "vke",
- "date_created": "2021-07-07T22:57:01+00:00",
- "cluster_subnet": "10.244.0.0/16",
- "service_subnet": "10.96.0.0/12",
- "ip": "0.0.0.0",
- "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
- "version": "v1.20.0+1",
- "region": "lax",
- "status": "pending",
- "ha_controlplanes": false,
- "oidc": {
- "client_id": "my-client-id",
- "username_claim": "email",
- "groups_claim": "groups"
}, - "node_pools": [
- {
- "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
- "date_created": "2021-07-07T22:57:01+00:00",
- "date_updated": "2021-07-07T22:58:44+00:00",
- "label": "my-label",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "pending",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
- "label": "my-label-6ac60e6313dd1",
- "date_created": "2021-07-07T22:57:01+00:00",
- "status": "pending"
}, - {
- "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
- "label": "my-label-6ac60e6313ddc",
- "date_created": "2021-07-07T22:57:01+00:00",
- "status": "pending"
}
]
}
], - "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}
]
}
}List all Kubernetes clusters currently deployed
{- "vke_clusters": [
- {
- "id": "c907e832-3080-48a6-a54d-7379e645c0b7",
- "label": "my-vke",
- "date_created": "2021-07-02T12:12:43+00:00",
- "cluster_subnet": "10.244.0.0/16",
- "service_subnet": "10.96.0.0/12",
- "ip": "8.9.30.155",
- "endpoint": "c907e832-3080-48a6-a54d-7379e645c0b7.vultr-k8s.com",
- "version": "v1.20.0+1",
- "region": "ewr",
- "status": "active",
- "ha_controlplanes": false,
- "oidc": {
- "client_id": "my-client-id",
- "username_claim": "email",
- "groups_claim": "groups"
}, - "node_pools": [
- {
- "id": "74de1914-63ea-4a78-9da5-b7220063c701",
- "date_created": "2021-07-02T12:12:44+00:00",
- "date_updated": "2021-07-03T12:12:44+00:00",
- "label": "nodepool",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "cafd4673-2a62-49c4-a045-44d05ecc0a7b",
- "label": "nodepool-6a960df02bc1b",
- "date_created": "2021-07-02T12:12:44+00:00",
- "status": "active"
}, - {
- "id": "5fc5ae88-f73e-46b5-9fa1-ac5ed8dcd33c",
- "label": "nodepool-6a960df02bc25",
- "date_created": "2021-07-02T12:12:44+00:00",
- "status": "active"
}
]
}
], - "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}
]
}, - {
- "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
- "label": "vke",
- "date_created": "2021-07-07T22:57:01+00:00",
- "cluster_subnet": "10.244.0.0/16",
- "service_subnet": "10.96.0.0/12",
- "ip": "207.246.109.187",
- "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
- "version": "v1.20.0+1",
- "region": "lax",
- "status": "active",
- "oidc": {
- "client_id": "my-client-id",
- "username_claim": "email",
- "groups_claim": "groups"
}, - "node_pools": [
- {
- "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
- "date_created": "2021-07-07T22:57:01+00:00",
- "date_updated": "2021-07-08T12:12:44+00:00",
- "label": "my-label",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
- "label": "my-label-6ac60e6313dd1",
- "date_created": "2021-07-07T22:57:01+00:00",
- "status": "active"
}, - {
- "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
- "label": "my-label-6ac60e6313ddc",
- "date_created": "2021-07-07T22:57:01+00:00",
- "status": "active"
}
]
}
], - "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}
]
}
], - "meta": {
- "total": 2,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get Kubernetes Cluster
| vke-id required | string The VKE ID. |
{- "vke_cluster": {
- "id": "455dcd32-e621-48ee-a10e-0cb5f754e13e",
- "firewall_group_id": "",
- "label": "vke",
- "date_created": "2021-07-07T22:57:01+00:00",
- "cluster_subnet": "10.244.0.0/16",
- "service_subnet": "10.96.0.0/12",
- "ip": "207.246.109.187",
- "endpoint": "455dcd32-e621-48ee-a10e-0cb5f754e13e.vultr-k8s.com",
- "version": "v1.20.0+1",
- "region": "lax",
- "status": "active",
- "ha_controlplanes": false,
- "oidc": {
- "client_id": "my-client-id",
- "username_claim": "email",
- "groups_claim": "groups"
}, - "node_pools": [
- {
- "id": "11e4443a-f92a-46d6-94c8-61c1a1a7514e",
- "date_created": "2021-07-07T22:57:01+00:00",
- "date_updated": "2021-07-08T12:12:44+00:00",
- "label": "my-label",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "43eda5c8-67f7-4c63-88bc-2f568b48b2b0",
- "label": "my-label-6ac60e6313dd1",
- "date_created": "2021-07-07T22:57:01+00:00",
- "status": "active"
}, - {
- "id": "15a7893d-d584-45d5-a74c-d9f46866aa3c",
- "label": "my-label-6ac60e6313ddc",
- "date_created": "2021-07-07T22:57:01+00:00",
- "status": "active"
}
]
}
], - "vpcs": [
- {
- "id": "775e26b3-f67d-46b7-87ed-1a0457fb3a5e",
- "version": 1,
- "subnet": "10.1.96.3"
}
]
}
}Update Kubernetes Cluster
| vke-id required | string The VKE ID. |
Request Body
| label required | string Label for the Kubernetes cluster |
object Configure OpenID Connect (OIDC) support for this VKE cluster |
{- "label": "my new label",
- "oidc": {
- "client_id": "my-client-id",
- "username_claim": "email",
- "groups_claim": "groups"
}
}Delete Kubernetes Cluster
| vke-id required | string The VKE ID. |
Get the block storage volumes and load balancers deployed by the specified Kubernetes cluster.
| vke-id required | string The VKE ID. |
{- "resources": {
- "block_storage": [
- {
- "id": "29479a12-6edd-48cf-a883-24eccafab094",
- "label": "29479a12-6edd-48cf-a883-24eccafab094",
- "date_created": "2021-07-29T16:41:07+00:00",
- "status": "active"
}, - {
- "id": "0fa3097e-aef9-475e-958a-56f697ed3998",
- "label": "0fa3097e-aef9-475e-958a-56f697ed3998",
- "date_created": "2021-08-04T15:34:50+00:00",
- "status": "pending"
}
], - "load_balancer": [
- {
- "id": "369ed902-2ec4-4a22-b959-cb1709394c3a",
- "label": "369ed902-2ec4-4a22-b959-cb1709394c3a",
- "date_created": "2021-07-29T16:46:12+00:00",
- "status": "active"
}
]
}
}Get the available upgrades for the specified Kubernetes cluster.
| vke-id required | string The VKE ID. |
curl "https://api.vultr.com/v2/kubernetes/clusters/{vke-id}/available-upgrades" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "available_upgrades": [
- "v1.22.8+3",
- "v1.21.11+3"
]
}Start a Kubernetes cluster upgrade.
| vke-id required | string The VKE ID. |
Request Body
| upgrade_version required | string The version you're upgrading to. |
{- "upgrade_version": "v1.22.8+3"
}Create NodePool for a Existing Kubernetes Cluster
| vke-id required | string The VKE ID. |
Request Body
| node_quantity required | integer Number of instances in this nodepool |
| label required | string Label for the nodepool. You cannot change the label after a nodepool is created. You cannot have duplicate node pool labels in the same cluster. |
| plan required | string Plan that this nodepool will use |
| tag | string Tag for node pool |
| auto_scaler | boolean Option to use the auto scaler with your cluster. Default false. |
| min_nodes | integer Auto scaler field for minimum nodes you want for your cluster. Default 1. |
| max_nodes | integer Auto scaler field for maximum nodes you want for your cluster. Default 1. |
| labels | object Map of key/value pairs defining labels to automatically apply to all nodes in this nodepool. Labels will be applied to both new and existing nodes. |
Array of objects (nodepool-taint-req) Array of objects containing key, value, and effect. | |
| user_data | string The user-supplied, base64 encoded user data for all nodes in nodepool (only applied on nodes created after user data is set). |
{- "node_quantity": 2,
- "label": "nodepool",
- "plan": "vc2-1c-2gb",
- "tag": "my-tag",
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true
}{- "node_pool": {
- "id": "4130764b-5276-4552-546f-32513239732b",
- "date_created": "2021-07-07T23:29:18+00:00",
- "date_updated": "2021-07-08T23:29:18+00:00",
- "label": "nodepool",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "pending",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "2f863151-d784-4184-804e-31e4e60945bd",
- "label": "nodepool-6c360e638ce61",
- "date_created": "2021-07-07T23:29:18+00:00",
- "status": "pending"
}, - {
- "id": "73a459dc-293f-4c2b-92f7-61be459a033b",
- "label": "nodepool-6c360e638ce6c",
- "date_created": "2021-07-07T23:29:18+00:00",
- "status": "pending"
}
], - "labels": null,
- "taints": [ ]
}
}List all available NodePools on a Kubernetes Cluster
| vke-id required | string The VKE ID. |
{- "node_pools": [
- {
- "id": "e97bdee9-2781-4f31-be03-60fc75f399ae",
- "date_created": "2021-07-07T23:27:08+00:00",
- "date_updated": "2021-07-08T12:12:44+00:00",
- "label": "my-label",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "f2e11430-76e5-4dc6-a1c9-ef5682c21ddf",
- "label": "my-label-44060e6384c45",
- "date_created": "2021-07-07T23:27:08+00:00",
- "status": "active"
}, - {
- "id": "c0a160eb-a7bc-4377-a6fb-52a9531167ca",
- "label": "my-label-44060e6384c50",
- "date_created": "2021-07-07T23:27:08+00:00",
- "status": "active"
}
]
}, - {
- "id": "4130764b-5276-4552-546f-32513239732b",
- "date_created": "2021-07-07T23:29:18+00:00",
- "label": "nodepool",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "2f863151-d784-4184-804e-31e4e60945bd",
- "label": "nodepool-6c360e638ce61",
- "date_created": "2021-07-07T23:29:18+00:00",
- "status": "active"
}, - {
- "id": "73a459dc-293f-4c2b-92f7-61be459a033b",
- "label": "nodepool-6c360e638ce6c",
- "date_created": "2021-07-07T23:29:18+00:00",
- "status": "active"
}
]
}
], - "meta": {
- "total": 2,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get Nodepool from a Kubernetes Cluster
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
{- "node_pool": {
- "id": "e97bdee9-2781-4f31-be03-60fc75f399ae",
- "date_created": "2021-07-07T23:27:08+00:00",
- "date_updated": "2021-07-08T12:12:44+00:00",
- "label": "my-label",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 2,
- "min_nodes": 2,
- "max_nodes": 5,
- "auto_scaler": true,
- "nodes": [
- {
- "id": "f2e11430-76e5-4dc6-a1c9-ef5682c21ddf",
- "label": "my-label-44060e6384c45",
- "date_created": "2021-07-07T23:27:08+00:00",
- "status": "active"
}, - {
- "id": "c0a160eb-a7bc-4377-a6fb-52a9531167ca",
- "label": "my-label-44060e6384c50",
- "date_created": "2021-07-07T23:27:08+00:00",
- "status": "active"
}
]
}
}Update a Nodepool on a Kubernetes Cluster
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
Request Body
| node_quantity | integer Number of instances in the NodePool. Minimum of 1 is required, but at least 3 is recommended. |
| tag | string Tag for your node pool |
| auto_scaler | boolean Option to use the auto scaler for your cluster. Default false. |
| min_nodes | integer Auto scaler field for minimum nodes you want for your cluster. Default 1. |
| max_nodes | integer Auto scaler field for maximum nodes you want for your cluster. Default 1. |
| labels | object Map of key/value pairs defining labels to automatically apply to all nodes in this nodepool. Labels will be applied to both new and existing nodes. Existing labels are not removed when adding or updating, but can be managed in the separate labels endpoints. |
Array of objects (nodepool-taint-req) Array of objects containing key, value, and effect. Existing taints are not removed when adding or updating, but can be managed in the separate taints endpoints. | |
| user_data | string The user-supplied, base64 encoded user data for all nodes in nodepool (only applied on nodes created after user data is set). |
{- "node_quantity": 1,
- "tag": "my-tag",
- "min_nodes": 1,
- "max_nodes": 5,
- "auto_scaler": true
}{- "node_pool": {
- "id": "e97bdee9-2781-4f31-be03-60fc75f399ae",
- "date_created": "2021-07-07T23:27:08+00:00",
- "date_updated": "2021-07-08T12:12:44+00:00",
- "label": "my-label",
- "tag": "my-tag",
- "plan": "vc2-1c-2gb",
- "status": "active",
- "node_quantity": 1,
- "min_nodes": 1,
- "max_nodes": 5,
- "auto_scaler": true,
- "labels": null,
- "taints": [ ],
- "nodes": [
- {
- "id": "f2e11430-76e5-4dc6-a1c9-ef5682c21ddf",
- "label": "my-label-44060e6384c45",
- "date_created": "2021-07-07T23:27:08+00:00",
- "status": "active"
}
]
}
}Delete a NodePool from a Kubernetes Cluster
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
List NodePool Labels on Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
{- "labels": {
- "id": "string",
- "key": "string",
- "value": "string"
}
}Add NodePool Label to Existing Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| key | string Key of the Label |
| value | string Value of the Label |
{- "key": "string",
- "value": "string"
}{- "label": {
- "id": "string",
- "key": "string",
- "value": "string"
}
}Read NodePool Label on Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| label-id required | string The NodePool Label ID. |
{- "label": {
- "id": "string",
- "key": "string",
- "value": "string"
}
}Delete NodePool Label on Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| label-id required | string The NodePool Label ID. |
List NodePool Taints on Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
{- "taints": {
- "id": "string",
- "key": "string",
- "value": "string",
- "effect": "string"
}
}Add NodePool Taint to Existing Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| key | string Key of the Taint |
| value | string Value of the Taint |
| effect | string Effect of the Taint |
{- "key": "string",
- "value": "string",
- "effect": "string"
}{- "taint": {
- "id": "string",
- "key": "string",
- "value": "string",
- "effect": "string"
}
}Read NodePool Taint on Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| taint-id required | string The NodePool Taint ID. |
{- "taint": {
- "id": "string",
- "key": "string",
- "value": "string",
- "effect": "string"
}
}Delete NodePool Taint on Kubernetes Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| taint-id required | string The NodePool Taint ID. |
Delete a single nodepool instance from a given Nodepool
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| node-id required | string The Instance ID. |
Recycle a specific NodePool Instance
| vke-id required | string The VKE ID. |
| nodepool-id required | string The NodePool ID. |
| node-id required | string Node ID |
Get Kubernetes Cluster Kubeconfig
| vke-id required | string The VKE ID. |
{- "kube_config": "YXBpdmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSblZFTkRRVzF0WjBGM1NVSkJaMGxKU2psdFN6bEViRk5pY0RSM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZFVla1ZNVFVGclIwRXhWVVVLUW1oTlExWldUWGhHYWtGVlFtZE9Wa0pCWTFSRVZrNW9ZbWxDUjJOdFJuVlpNbXg2V1RJNGVFVjZRVkpDWjA1V1FrRnZWRU5yZERGWmJWWjVZbTFXTUFwYVdFMTRSWHBCVWtKblRsWkNRVTFVUTJ0ME1WbHRWbmxpYlZZd1dsaE5kMGhvWTA1TmFrVjNUbnBCZVUxVVNYaE5la0Y1VjJoalRrMXFTWGRPZWtGNUNrMVVTWGhOZWtGNVYycENVRTFSYzNkRFVWbEVWbEZSUjBWM1NsWlZla1ZYVFVKUlIwRXhWVVZDZUUxT1ZUSkdkVWxGV25sWlZ6VnFZVmhPYW1KNlJWUUtUVUpGUjBFeFZVVkRhRTFMVXpOV2FWcFlTblZhV0ZKc1kzcEZWRTFDUlVkQk1WVkZRWGhOUzFNelZtbGFXRXAxV2xoU2JHTjZRME5CVTBsM1JGRlpTZ3BMYjFwSmFIWmpUa0ZSUlVKQ1VVRkVaMmRGVUVGRVEwTkJVVzlEWjJkRlFrRk1laTlITXpOaVlWZG5TMU5GVmpKQ2RsQlhZbWd6WkhZclYybEhOVlJqQ2s1bllVTlZNMlJWVm5KdGNtaHVXbVJPYWtkTVl5OUJTR3RIWm1OaVIxQlRXbkJ2UVZCbWFuaGtWRTA0WlVOTFlXdGxkR0Z6YkRsdFNDOVhlVTlETXpnS1pGcEZVWGRSZWpseFIzWnpaa3BTT0RKQ01WWTBWM3AxUVdRMEwxSmtaVGxqU3psaVdIWktkRUZMU2xrNVF6aG9VM2RtTDNNM1drRlNabGxYYTIxb1R3cHZkSHBFUnpaR2JtaFljSFJtUkRZdmRXNXNXRWhyYTNveFVHSjZhR1Z2ZG5adU9GUkNUamR2UWpkTVdUaG9kRE5tVTBJeFEwSlRTMGxxV1hsaGJEaHJDbU5XZVU1R1MyUndVRVoxV0ZvelkyYzRaMHN2ZUROS1VXZHBLMGxqVTA0Mk9GZDJaa3gxYXpjM2JXOXNWWE5IY25neWNWRkZTa2RwU2k5SGEzUm5kMndLWlVnNU1FbHpMMkZDZERjd1dsaG9aM2cyTnpkSmVuTnVWMnN3UWpWSFlVeGpaRk5oYUN0WlNraGthbkpMU0N0R01qVTNWekpvTUVOQmQwVkJRV0ZPYUFwTlJqaDNSR2RaUkZaU01GQkJVVWd2UWtGUlJFRm5TMFZOUWpCSFFURlZaRXBSVVZkTlFsRkhRME56UjBGUlZVWkNkMDFEUW1kbmNrSm5SVVpDVVdORUNrRlVRVkJDWjA1V1NGSk5Ra0ZtT0VWQ1ZFRkVRVkZJTDAxQ01FZEJNVlZrUkdkUlYwSkNVME5EVWtoSmFERm1XbnBzU210MFMwVmtOalpITVZWWGRqQUtNRVJCVGtKbmEzRm9hMmxIT1hjd1FrRlJjMFpCUVU5RFFWRkZRV0V3VG1SUVlYa3dPREp0YVcxWllUa3ZOVVpMY1hWa1YwSmpabVpHVkVScFdrTmljUXA1YVUxNFZXeEVTQzl6Tm1Od1YzbEJORXRuY0ZGRWMySXdiM0pzYTNwTk1ERjNieTlsTUc1clUxTTFVVkIyWVZvNU9FaFNObFlyTUV4a0swZzViM1JCQ2xZM2VUbEdlQzlJVUhCdldGWTJhVWswYWpCaVpFdFBNMHQ0VUZKVWRsaDFRMUZETTNRd2FHc3pjVnBRSzFSalNEaHhWRTV6VkVwb1JGTnlSMWRLUjNvS1dqZ3liMGwwY0c5RVRsaEJZVUpqYmxSRmNUUkNXRzFoTTJVNVJHSkpVMU5SZW5aaGFIYzBWMkZwVTFWNGVYUllVakJ5Um1oaFpFUnpkbFJuVVhZNGF3cEdlbkV5TjNkS2RUaHZUV2hIWTJWb2VGUlRXVUpyWjNGWVUzYzNPR2xsTVZadk1XVlBMMGxTYlhsM1ZtMWlhM2M1TWswcldtZFdOV0Z3VERCNlNYRnNDbFEzWmtkekszWTViREkwYkM4eGFIbExVekZCU1ZKTmVrRkljMGw1YVdWdE1GUkZUM0Z6WVVVNVFYWjBlWEZZZEZKblBUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIHNlcnZlcjogaHR0cHM6Ly9jOTA3ZTgzMi0zMDgwLTQ4YTYtYTU0ZC03Mzc5ZTY0NWMwYjcudnVsdHItazhzLmNvbTo2NDQzCiAgbmFtZTogdmtlCmNvbnRleHRzOgotIGNvbnRleHQ6CiAgICBjbHVzdGVyOiB2a2UKICAgIHVzZXI6IGFkbWluCiAgbmFtZTogdmtlCmN1cnJlbnQtY29udGV4dDogdmtlCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KdXNlcnM6Ci0gbmFtZTogYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJWUkVORFFXcHBaMEYzU1VKQlowbEpUVmg0VTFOSGRFRnliR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkVWVrVk1UVUZyUjBFeFZVVUtRbWhOUTFaV1RYaEdha0ZWUW1kT1ZrSkJZMVJFVms1b1ltbENSMk50Um5WWk1teDZXVEk0ZUVWNlFWSkNaMDVXUWtGdlZFTnJkREZaYlZaNVltMVdNQXBhV0UxNFJYcEJVa0puVGxaQ1FVMVVRMnQwTVZsdFZubGliVll3V2xoTmQwaG9ZMDVOYWtWM1RucEJlVTFVU1hoTmVrRjVWMmhqVGsxcVNYZE9la0Y1Q2sxVVNYaE5la0Y1VjJwQ1QwMVJjM2REVVZsRVZsRlJSMFYzU2xaVmVrVlhUVUpSUjBFeFZVVkNlRTFPVlRKR2RVbEZXbmxaVnpWcVlWaE9hbUo2UlZnS1RVSlZSMEV4VlVWRGFFMVBZek5zZW1SSFZuUlBiVEZvWXpOU2JHTnVUWGhFYWtGTlFtZE9Wa0pCVFZSQ1YwWnJZbGRzZFUxSlNVSkpha0ZPUW1kcmNRcG9hMmxIT1hjd1FrRlJSVVpCUVU5RFFWRTRRVTFKU1VKRFowdERRVkZGUVhselRIVndNSHBvYXpsUFVHODVWa05TTUZSbmJ6UTFORThyV0hOTVEyUXhDbE5CWVdKNmFtMVJaM1pEVVZKeFdEaEZUa0Z0VW5kbVdFUjNaRkJMWTFkbmFtcHpRaTlQU2pSR2F6TmpWWFZIVVdkNmFrRkRXVVJYVjNBM1RWaG1TM1VLVm5GeVNGTmtZMnhQWVV0dEwwbGpNMEkxWVd0a1pYcGxRVFJ4UzFGRlRrbFVSbXR1VkdSWVJ6RTFVV3MxU2tNMGNIWXpaa3M1ZUhVMldqZHhjVmRXVlFwdmVFMXdjR2huV1hGWFVsUkNSMnByT0hSRk5sbDZOazVZZGs5NkwxVXpNWEprV0ZOVFluYzRWakpxTUdnNU1FTlRMMkZLVkN0U01sRmxNRWh3YkZNeUNsSjBWek0yYlRjMFVGaHpXRGQ2Ym1aTVZWZEpaMGQxYjBvNVdYTkJNRFphUTFSVllrdFNTekV2V0haRmFGZHVPSGRtWTFCblRHTXlRWEJRTnpsMVlYa0taV0phZVV4SmFXOWFXRXRNVERWQ05tcEZaVkZWV2pGWlRFTjNSV0pCTXpWYVdYSm1lRTVCUmsxcFUwcDFTMnhhUlRWSGNYRlJTVVJCVVVGQ2IzcEZkd3BNZWtGUFFtZE9Wa2hST0VKQlpqaEZRa0ZOUTBGdlVYZElVVmxFVmxJd2JFSkNXWGRHUVZsSlMzZFpRa0pSVlVoQmQwbEhRME56UjBGUlZVWkNkMDFDQ2sxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUWpWbUwwdHJVVGxRV1d4WE1uQllUek13V1dSYVZHMUlhbWRhTm10RlFUUmhVelJvVWs4S2NqSldSbHBwUjBoUVluZGFZMjVuZFc1UVRXTnJaRmh2UWs5a1dsVkhkelpoYkUxaVFVOUZhRlpIUVVOSU5IcEhkM2RUUlZrMk5HRTJVV0ZsVFVaSWF3cHZkalU1UW1GclJIZFJkVlprTVdoMk1rcFZkMXB3WTFsTVZUZE5PWGRLWTI5a09FODBNM0EyVGxwTmNrVjBObHB2YmtsSWJGbEpkMGhFTWxWaGVYcHZDamhUVkhWeWNXVm5jakJvYzAwd1ltWlFRbkZzY25CdE9VTXZOV2hVVjJVemJ6STJiRFpNUTBabWFFdzBaamN5VURSaWFYWnNkVTVoYVc5UFp6QXZXVVlLZFVwd09WUjZkMnRuUWtSVE9DOU5hVTFUVDFwSFpVdHlia2hWYlhKa2FGbHpSbTFCVVRCRVRYWlJiMnh1TWtwVlRYSXlkWE4yU0VGcFJGWm9PVkZMWlFwM1lrSlRMMlJ3UW04M09UbEZRWHBpWkdaclpIcG5iVWhDU2k5WU4wVjNNR3B4Tm5Nek5YTkRNMUpqY0dNNFJrd0tMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGYjJkSlFrRkJTME5CVVVWQmVYTk1kWEF3ZW1ock9VOVFiemxXUTFJd1ZHZHZORFUwVHl0WWMweERaREZUUVdGaWVtcHRVV2QyUTFGU2NWZzRDa1ZPUVcxU2QyWllSSGRrVUV0alYyZHFhbk5DTDA5S05FWnJNMk5WZFVkUlozcHFRVU5aUkZkWGNEZE5XR1pMZFZaeGNraFRaR05zVDJGTGJTOUpZek1LUWpWaGEyUmxlbVZCTkhGTFVVVk9TVlJHYTI1VVpGaEhNVFZSYXpWS1F6Undkak5tU3psNGRUWmFOM0Z4VjFaVmIzaE5jSEJvWjFseFYxSlVRa2RxYXdvNGRFVTJXWG8yVGxoMlQzb3ZWVE14Y21SWVUxTmlkemhXTW1vd2FEa3dRMU12WVVwVUsxSXlVV1V3U0hCc1V6SlNkRmN6Tm0wM05GQlljMWczZW01bUNreFZWMGxuUjNWdlNqbFpjMEV3TmxwRFZGVmlTMUpMTVM5WWRrVm9WMjQ0ZDJaalVHZE1ZekpCY0ZBM09YVmhlV1ZpV25sTVNXbHZXbGhMVEV3MVFqWUtha1ZsVVZWYU1WbE1RM2RGWWtFek5WcFpjbVo0VGtGR1RXbFRTblZMYkZwRk5VZHhjVkZKUkVGUlFVSkJiMGxDUVVKaWN6VXpUQzlJUm5CTmFESmpjd3A1Tm5WdVVFRmpRMHQwU1VzNGVVMXBObll6VkRCWVdVWjVSRTFzTlVGdk5EVnJSVFJhTjNWTlVsZExjbTUxV0VsT1NtdG5WSFE0Tmpndk1FSnVURWMyQ2xVd05tazRaMDlvUkRWME4ySlFkMHRZYlM5eFN6RktUVUY1WkRkSWIzQmhPVE4yYVV0dlNYa3pMemxwWjB4Tk0yRkZkRXB2Vlc5S2NUaDJaMDFxVDNRS2MxWk5aMVJWVmpKVVVYZGFUR056ZEdFNU5YTlphamh1V214S2QyczNhSHBFTmtFemNUSTBhRVJ0YUU1a2FUZ3dSSEJEVDJjMk1IbFpTaXQ2Y0dab1dBcHZORkJPTlhsTVZGaFhkSG80SzJ0UllqaDZaR3B0Wms5a1pHVnJaeTlOTTA1T1pUY3JPRVZHV2tJMWExWkRkbEV3UmxoSVIxRlZPREUzV1dNdlNEZHZDamhpVFZsM2QySlZRbEppTkdobmVWWnZkemxVV2s5YVkwMXVMM2xoYVd3M1JtVmljblpGU2s5dVJtdG9Wa3BoUlRKdVlWSlJjbEJ1TmtORWRVdEdXRGdLUTJNM2JHZGhSVU5uV1VWQmVuZEVURlpFY1UxWlYxcHNiWFJUYzJGdWVGaEJhMnBwUW5GVWFreFhTbGRIZVZSTk0xZEtUM2RzZG1GWk9FTlRiSHB5TkFwelMyOTNOMXByT0doQ1ZXSm1WRFJCV1ZWTlpVRlBSV0p2UkhCTVpYQTBURmxYU0hSUmJuQkpWakY1ZURSMVdWZHlSM28yZVhSemVGbE1MMnRvYTBSMENtUnVRVTFDVTBOdlZXOW1VVWczSzBWa2NHdFpZbGxrYW05bFZuWXdlalpPVG1SQ1ZYSk9VbFpQWlc1NFR6WkllR1JIZDNwSFUxVkRaMWxGUVN0elJXVUtVMk5wU0RSbWIybDVkRlZNWW5VMVJVVmtaM0YwTDFseUszTmtVMjl6TURGTWVtOXpSVU4wZGpFMGJrNHZWVlpIYTI5WE5UUTRVVEpOYmtkeUswSTFLd3BvUkRCME1XTXpXQ3RPT1dOc2FYRXdWVzVGZVhad09DOXhWblJUZGxSYWFscEdOVTFKTXpadWJqWXhVVkkxV0hOcFNEVmhWbWQyUlRoYWNFNTBSbHBsQ21sWlRVNHpRM2R6VjNCb1drMUJTV2hVZDI1S1RVOVZlVXhHVlhWT05rTjNhelJFUlhacVZVTm5XVUZ2UWs5R1MxVldPV1ZZVTNRM1pWYzBlakJCU1VzS1VWRnFhR1V2VFc1cVVVWlZhMmhNUWtsbldsUTRUMjlTY1hWTmMwNVplSEZ4ZUhneVkzTXJUMUZZTld4QmFESlZjME5OVjNwSE5Va3hZbmhPTkd0M1ZRbzRXbVZ4TmtoVlpqTndNMDVZWlc4MFVEUkdhM2R0WlZSaGMxaEdXbkozUW5vM2RXcExhVTFuWjFnd2RFSm9kVmg1YUZVNE5UVllUbU5OZG1weVVUUnFDblo2YWk5cFRGWktWWFkzSzBwc2NrWjRWREZFZFZGTFFtZEhZbkJrVmxoUk1FUjJiRmhtZDJrellrNXJXa1pzZVdZeU0wdDNXbWRHTUVKMGVUTjJORWtLUVU5bFRpOUVVRmx2WTNKMFkwbzFXRGxqWms0d2JsSXphRW95Y2xocU9VWnZTbU5qUTFOU2FDOHllU3RGUVRJMU1scHhNRmgyZEZKMVN6Vm9UVkFyVkFwV0szQkdXU3RSTjNwRVVHeERlRTlzZWpoME5uWjRVblJSVEVSbWRHRk1ORkF5Y2paVmFWaEpWM1Z3UTBwWmREZDBOaXQ1YTFKdWVYZzJiMkUzTHpGS0NtNTJWakZCYjBkQlRtRkZSV1VyZERoNGFXUlFaeXRIUm5FemN6VkhUa1pPU0VKQmMzcG1NV3BxVFdwdmF6ZEtiMmxyWWxaVU1FNUJWVmhLZEdWclNra0taekZPVUd0UVQxSjRWakZWY0dKUGVsUXJhMWhyTjBwVmExTTNiVE0zV0VneWRuUm1abVIxTlhFNVEzWkhObkZaYW1OcVpVOHZSRWhzYUZWRmNrMUpXUXBsVHpSQk9FOUNWRWgwUVRkM01XTjVVa2hIVUZWUE1VRlFiRXRTTWtWVU9XMXVOeXROV0hSRU1GQmxjRWh2TVV0UU9VRTlDaTB0TFMwdFJVNUVJRkpUUVNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQo="
}Load Balancers sit in front of your application and distribute incoming traffic across multiple Instances. When you control the load balancer via the API, you can inspect the results in the customer portal.
List the Load Balancers in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/load-balancers" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "load_balancers": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "label": "Example Load Balancer",
- "status": "active",
- "ipv4": "192.0.2.123",
- "ipv6": "2001:0db8:5:4973:ffff:ffff:ffff:ffff",
- "generic_info": {
- "balancing_algorithm": "roundrobin",
- "ssl_redirect": false,
- "sticky_sessions": {
- "cookie_name": "example-cookie"
}, - "proxy_protocol": false,
- "timeout": 600,
- "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406"
}, - "health_check": {
- "protocol": "http",
- "port": 80,
- "path": "/health",
- "check_interval": 10,
- "response_timeout": 5,
- "unhealthy_threshold": 3,
- "healthy_threshold": 3
}, - "has_ssl": false,
- "http2": false,
- "http3": false,
- "nodes": 1,
- "forwarding_rules": [
- {
- "id": "73d85156c2c3129d",
- "frontend_protocol": "http",
- "frontend_port": 80,
- "backend_protocol": "http",
- "backend_port": 80
}
], - "firewall_rules": [
- {
- "id": "abcd123b93016eafb",
- "port": 80,
- "source": "198.51.100.0/24",
- "ip_type": "v4"
}
], - "instances": [ ],
- "node_ips": {
- "v4": [ ],
- "v6": [ ],
- "private": [ ]
}, - "auto_ssl": {
- "domain_zone": "",
- "domain": ""
}, - "global_parent_id": "",
- "global_regions": [ ],
- "global_children_ids": [ ],
- "global_cname": "",
- "ssl_cert_b64": "",
- "pending_charges": 0,
- "cname": "vlb-cb676a46-66fd-4dfb-b839-443f2e6c0b60.vultrlb.com"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new Load Balancer in a particular region.
Include a JSON object in the request body with a content type of application/json.
| region | string The Region id to create this Load Balancer. |
| balancing_algorithm | string The balancing algorithm.
|
| ssl_redirect | boolean If
|
| http2 | boolean If
|
| http3 | boolean If
|
| nodes | integer The number of nodes to add to the load balancer (1-99), must be an odd number. This defaults to 1. |
| proxy_protocol | boolean If
|
| timeout | integer The maximum time allowed for the connection to remain inactive before timing out in seconds. This defaults to 600. |
object The health check configuration. See Load Balancer documentation. | |
Array of objects An array of forwarding rule objects. | |
object Enables sticky sessions for your load balancer when a cookie_name is provided. | |
object An SSL certificate to install on the Load Balancer. | |
| label | string Label for your Load Balancer. |
| instances | Array of strings An array of instances IDs that you want attached to the load balancer. |
Array of objects An array of firewall rule objects. | |
| private_network | string Deprecated Use |
| vpc | string ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network. |
object The Auto SSL configuration. Must be using Vultr DNS for Auto SSL. | |
Array of objects List of region objects with VPC information. |
{- "region": "ewr",
- "balancing_algorithm": "roundrobin",
- "ssl_redirect": false,
- "http2": false,
- "http3": false,
- "nodes": 1,
- "proxy_protocol": false,
- "timeout": 600,
- "label": "Example Load Balancer",
- "health_check": {
- "protocol": "http",
- "port": 80,
- "path": "/health",
- "check_interval": 10,
- "response_timeout": 5,
- "unhealthy_threshold": 3,
- "healthy_threshold": 3
}, - "forwarding_rules": [
- {
- "frontend_protocol": "http",
- "frontend_port": 80,
- "backend_protocol": "http",
- "backend_port": 80
}
], - "ssl": {
- "private_key": "-----BEGIN RSA ... ",
- "certificate": "-----BEGIN RSA ... ",
- "chain": "-----BEGIN RSA ... "
}, - "firewall_rules": [
- {
- "port": 80,
- "source": "24.187.16.196/16",
- "ip_type": "v4"
}
], - "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406",
- "auto_ssl": {
- "domain_zone": "example.com",
- "domain_sub": "sub"
}, - "global_regions": [
- {
- "region_id": "ewr",
- "vpc_id": "6c97149f-e340-453a-b3eb-67eaf6fb93b1"
}, - {
- "region_id": "atl"
}
]
}{- "load_balancer": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "label": "Example Load Balancer",
- "status": "pending",
- "ipv4": "",
- "ipv6": "",
- "generic_info": {
- "balancing_algorithm": "roundrobin",
- "ssl_redirect": false,
- "sticky_sessions": {
- "cookie_name": "example-cookie"
}, - "proxy_protocol": false,
- "timeout": 600,
- "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406",
- "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406"
}, - "health_check": {
- "protocol": "http",
- "port": 80,
- "path": "/health",
- "check_interval": 10,
- "response_timeout": 5,
- "unhealthy_threshold": 3,
- "healthy_threshold": 3
}, - "has_ssl": true,
- "http2": false,
- "http3": false,
- "nodes": 1,
- "forwarding_rules": [
- {
- "id": "73d85156c2c3129d",
- "frontend_protocol": "http",
- "frontend_port": 80,
- "backend_protocol": "http",
- "backend_port": 80
}
], - "firewall_rules": [
- {
- "id": "abcd123b93016eafb",
- "port": 80,
- "source": "24.187.16.196/16",
- "ip_type": "v4"
}
], - "instances": [ ],
- "node_ips": {
- "v4": [ ],
- "v6": [ ],
- "private": [ ]
}, - "auto_ssl": {
- "domain_zone": "",
- "domain": ""
}, - "global_regions": [
- "atl"
], - "ssl_cert_b64": "",
- "pending_charges": 0
}
}Get information for a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "load_balancer": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "label": "Example Load Balancer",
- "status": "active",
- "ipv4": "192.0.2.123",
- "ipv6": "2001:0db8:5:4973:ffff:ffff:ffff:ffff",
- "generic_info": {
- "balancing_algorithm": "roundrobin",
- "ssl_redirect": false,
- "sticky_sessions": {
- "cookie_name": "example-cookie"
}, - "proxy_protocol": false,
- "timeout": 600,
- "private_network": "9fed374c-0afc-42bf-926c-abcf840b5406",
- "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406"
}, - "health_check": {
- "protocol": "http",
- "port": 80,
- "path": "/health",
- "check_interval": 10,
- "response_timeout": 5,
- "unhealthy_threshold": 3,
- "healthy_threshold": 3
}, - "has_ssl": false,
- "http2": false,
- "http3": false,
- "nodes": 1,
- "forwarding_rules": [
- {
- "id": "73d85156c2c3129d",
- "frontend_protocol": "http",
- "frontend_port": 80,
- "backend_protocol": "http",
- "backend_port": 80
}
], - "firewall_rules": [
- {
- "id": "abcd123b93016eafb",
- "port": 80,
- "source": "198.51.100.0/24",
- "ip_type": "v4"
}
], - "instances": [ ],
- "node_ips": {
- "v4": [ ],
- "v6": [ ],
- "private": [ ]
}, - "auto_ssl": {
- "domain_zone": "",
- "domain": ""
}, - "global_parent_id": "",
- "global_regions": [
- "sea",
- "atl"
], - "global_children_ids": [
- "c613df4-de1e-491a-abd5-ee0aa7d46340"
], - "global_cname": "",
- "ssl_cert_b64": "",
- "pending_charges": 0,
- "cname": "vlb-cb676a46-66fd-4dfb-b839-443f2e6c0b60.vultrlb.com"
}
}Update information for a Load Balancer. All attributes are optional. If not set, the attributes will retain their original values.
| load-balancer-id required | string The Load Balancer id. |
Include a JSON object in the request body with a content type of application/json.
object An SSL certificate to install on the Load Balancer. | |
object Enables sticky sessions for your load balancer when a cookie_name is provided. | |
Array of objects An array of forwarding rule objects. | |
object The health check configuration. See Load Balancer documentation. | |
| proxy_protocol | boolean If
|
| timeout | integer The maximum time allowed for the connection to remain inactive before timing out in seconds. This defaults to 600. |
| ssl_redirect | boolean If
|
| http2 | boolean If
|
| http3 | boolean If
|
| nodes | integer The number of nodes to add to the load balancer (1-99), must be an odd number. This defaults to 1. |
| balancing_algorithm | string The balancing algorithm.
|
| instances | Array of strings Send the complete array of Instances IDs that should be attached to this Load Balancer. Instances will be attached or detached to match your array. For example, if Instances X, Y, and Z are currently attached, and you send [A,B,Z], then Instance A and B will be attached, X and Y will be detached, and Z will remain attached. |
| label | string The label for your Load Balancer |
| private_network | string Deprecated Use |
| vpc | string ID of the VPC you wish to use. If a VPC ID is omitted it will default to the public network. |
Array of objects An array of firewall rule objects. | |
object The Auto SSL configuration. Must be using Vultr DNS for Auto SSL. | |
| global_regions | Array of strings Array of Region ids to deploy child Load Balancers to. |
{- "ssl": {
- "private_key": "-----BEGIN RSA ... ",
- "certificate": "-----BEGIN RSA ... ",
- "chain": "-----BEGIN RSA ... "
}, - "sticky_session": {
- "cookie_name": "example-cookie"
}, - "forwarding_rules": [
- {
- "frontend_protocol": "http",
- "frontend_port": 80,
- "backend_protocol": "http",
- "backend_port": 80
}
], - "firewall_rules": [
- {
- "port": 80,
- "source": "192.168.1.1/16",
- "ip_type": "v4"
}
], - "health_check": {
- "protocol": "http",
- "port": 80,
- "path": "/health",
- "check_interval": "10",
- "response_timeout": "5",
- "unhealthy_threshold": "3",
- "healthy_threshold": "3"
}, - "proxy_protocol": true,
- "timeout": 600,
- "ssl_redirect": true,
- "http2": true,
- "http3": true,
- "nodes": 1,
- "balancing_algorithm": "roundrobin",
- "instances": [
- "cb676a46-66fd-4dfb-b839-443f2e6c0b60"
], - "vpc": "9fed374c-0afc-42bf-926c-abcf840b5406",
- "auto_ssl": {
- "domain_zone": "example.com",
- "domain_sub": "sub"
}, - "global_regions": [
- "sea",
- "atl"
]
}Delete a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Delete a Load Balancer SSL.
| load-balancer-id required | string The Load Balancer id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/ssl" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Disable a Load Balancer Auto SSL. This will not remove an ssl certificate from the load balancer.
| load-balancer-id required | string The Load Balancer id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/auto_ssl" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List the fowarding rules for a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "forwarding_rules": [
- {
- "id": "443f2e6c0b60",
- "frontend_protocol": "http",
- "frontend_port": 80,
- "backend_protocol": "http",
- "backend_port": 80
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new forwarding rule for a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
Include a JSON object in the request body with a content type of application/json.
| frontend_protocol required | string The protocol on the Load Balancer to forward to the backend.
|
| frontend_port required | integer The port number on the Load Balancer to forward to the backend. |
| backend_protocol required | string The protocol destination on the backend server.
|
| backend_port required | integer The port number destination on the backend server. |
{- "frontend_protocol": "http",
- "frontend_port": 8080,
- "backend_protocol": "http",
- "backend_port": 80
}Get information for a Forwarding Rule on a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
| forwarding-rule-id required | string The Forwarding Rule id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules/{forwarding-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "forwarding_rule": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "frontend_protocol": "http",
- "frontend_port": 8080,
- "backend_protocol": "http",
- "backend_port": 80
}
}Delete a Forwarding Rule on a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
| forwarding-rule-id required | string The Forwarding Rule id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/forwarding-rules/{forwarding-rule-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get Reverse DNS information for a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/reverse-dns" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "ipv4": "172.17.11.98.vultrusercontent.com",
- "ipv6": [ ]
}Delete a ipv6 reverse dns entry on a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/reverse-dns/ipv6/{ipv6}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Create Reverse DNS (ipv6) for a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
Include a JSON object in the request body with a content type of application/json.
Array of objects |
{- "v6": [
- {
- "ip": "2001:0db8:0000:0000:34f4:0000:0000:f3dd",
- "domain": "test.com"
}
]
}Update (ipv4) Reverse DNS for a Load Balancer.
| load-balancer-id required | string The Load Balancer id. |
Include a JSON object in the request body with a content type of application/json.
| v4 | string The Domain for the Reverse DNS Entry. If one exists it will be updated. |
{- "v4": "test.com"
}List the firewall rules for a Load Balancer.
| loadbalancer-id required | string |
| per_page | string Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/firewall-rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_rules": [
- {
- "id": "asb123f2e6c0b60",
- "port": 80,
- "source": "24.187.16.196/16",
- "ip_type": "v4"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create the firewall rules for a Load Balancer.
| loadbalancer-id required | string |
required | Array of objects An array of firewall rule objects. |
{- "firewall_rules": [
- {
- "port": 80,
- "source": "192.168.1.1/16",
- "ip_type": "v4"
}
]
}Get a firewall rule for a Load Balancer.
| loadbalancer-id required | string |
| firewall-rule-id required | string |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/firewall-rules/{firewall-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_rule": {
- "id": "asb123f2e6c0b60",
- "port": 80,
- "source": "24.187.16.196/16",
- "ip_type": "v4"
}
}Delete a firewall rule for a Load Balancer.
| loadbalancer-id required | string |
| firewall-rule-id required | string |
curl "https://api.vultr.com/v2/load-balancers/{load-balancer-id}/firewall-rules/{firewall-rule-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Logs record activity of users on your account. Events that are logged include user logins, interactions with the my.vultr.com web portal, and requests to the api.vultr.com REST API.
List the Logs for your account.
| start_time | string A UTC timestamp for the start of the time period from which to return logs. |
| end_time | string A UTC timestamp for the end of the time period from which to return logs. |
| log_level | string Filter the logs by the level assigned to the log.
|
| resource_type | string Filter the logs by the type of a resource such as an instances, bare-metals, kubernetes, etc. |
| resource_id | string Filter the logs by the UUID of a specific resource such as an instance. |
curl "https://api.vultr.com/v2/logs" -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "logs": [
- {
- "resource_id": "xb671a46-66ed-4dfb-b839-543f2c6c0b63",
- "resource_type": "instances",
- "log_level": "debug",
- "message": "Success",
- "timestamp": "2025-06-26T16:45:06+00:00",
- "metadata": { }
}
], - "meta": {
- "continue_time": "2025-06-26T12:24:03Z",
- "returned_count": 5000,
- "unreturned_count": 3524,
- "total_count": 8524
}
}Vultr Managed Databases is a managed database offering supporting MySQL, PostgreSQL, Valkey, and Apache Kafka®.
List all Managed Databases plans.
| engine | string Filter by engine type
|
| nodes | integer Filter by number of nodes. |
| region | string Filter by Region id. |
curl "https://api.vultr.com/v2/databases/plans" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "plans": [
- {
- "id": "vultr-dbaas-hobbyist-cc-1-25-1",
- "number_of_nodes": 1,
- "type": "vc2",
- "vcpu_count": 1,
- "ram": 1024,
- "disk": 25,
- "monthly_cost": 15,
- "supported_engines": {
- "mysql": true,
- "pg": true,
- "valkey": false,
- "kafka": false
}, - "max_connections": {
- "mysql": 75,
- "pg": 22
}, - "locations": [
- "DEV",
- "ICN",
- "SEA"
]
}
]
}List all Managed Databases in your account.
| label | string Filter by label. |
| tag | string Filter by specific tag. |
| region | string Filter by Region id. |
curl "https://api.vultr.com/v2/databases" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "databases": [
- {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "plan_disk": 25,
- "plan_ram": 1024,
- "plan_vcpus": 1,
- "plan_replicas": 0,
- "region": "EWR",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "some label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "pending_charges": 0,
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York",
- "read_replicas": [
- "..."
]
}
], - "meta": {
- "total": 1
}
}Create a new Managed Database in a region with the desired plan. Supply optional attributes as desired.
Include a JSON object in the request body with a content type of application/json.
| database_engine required | string The database engine type for the Managed Database.
|
| database_engine_version required | string The version of the chosen database engine type for the Managed Database.
|
| region required | string The Region id where the Managed Database is located. |
| plan required | string The Plan id to use when deploying this Managed Database. |
| label required | string A user-supplied label for this Managed Database. |
| tag | string The user-supplied tag for this Managed Database. |
| vpc_id | string The VPC id to use when deploying this Managed Database. It can also be set to |
| maintenance_dow | string The day of week for routine maintenance updates.
|
| maintenance_time | string The preferred time (UTC) for routine maintenance updates to occur in 24-hour HH:00 format (e.g. |
| backup_hour | string The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types). |
| backup_minute | string The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types). |
| pending_charges | number Charges due for this subscription at the end of the billing period. |
| trusted_ips | Array of strings A list of IP addresses allowed to access the Managed Database in CIDR notation (defaults to /32 if excluded). |
| mysql_sql_modes | Array of strings A list of SQL modes to enable on the Managed Database (MySQL engine types only).
|
| mysql_require_primary_key | boolean Require a primary key for all tables on the Managed Database (MySQL engine types only). |
| mysql_slow_query_log | boolean Enable or disable slow query logging on the Managed Database (MySQL engine types only). |
| mysql_long_query_time | integer The number of seconds to denote a slow query when logging is enabled (MySQL engine types only). |
| redis_eviction_policy | string Deprecated Set the data eviction policy for the Managed Database (Redis engine types only) |
| eviction_policy | string Set the data eviction policy for the Managed Database (Valkey engine types only) |
| enable_kafka_rest | boolean Enable or disable Kafka REST support on the Managed Database (Kafka engine types only on business plans or higher). |
| enable_schema_registry | boolean Enable or disable Schema Registry support on the Managed Database (Kafka engine types only on business plans or higher). |
| enable_kafka_connect | boolean Enable or disable Kafka Connect support on the Managed Database (Kafka engine types only on business plans or higher). |
{- "database_engine": "mysql",
- "database_engine_version": "8",
- "region": "ewr",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "label": "Example Managed Database"
}{- "database": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "plan_disk": 25,
- "plan_ram": 1024,
- "plan_vcpus": 1,
- "plan_replicas": 0,
- "region": "EWR",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "some label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "pending_charges": 0,
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York",
- "read_replicas": [
- "..."
]
}
}Get information about a Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "database": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "plan_disk": 25,
- "plan_ram": 1024,
- "plan_vcpus": 1,
- "plan_replicas": 0,
- "region": "EWR",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "some label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "pending_charges": 0,
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York",
- "read_replicas": [
- "..."
]
}
}Update information for a Managed Database. All attributes are optional. If not set, the attributes will retain their original values.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| region | string The Region id where the Managed Database is located. |
| plan | string The Plan id for this Managed Database. |
| label | string A user-supplied label for this Managed Database. |
| tag | string The user-supplied tag for this Managed Database. |
| vpc_id | string The VPC id for this Managed Database. |
| maintenance_dow | string The day of week for routine maintenance updates.
|
| maintenance_time | string The preferred time (UTC) for routine maintenance updates to occur in 24-hour HH:00 format (e.g. |
| backup_hour | string The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types). |
| backup_minute | string The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types). |
| pending_charges | number Charges due for this subscription at the end of the billing period. |
| cluster_time_zone | string The configured time zone for the Managed Database in TZ database format (e.g. |
| trusted_ips | Array of strings A list of IP addresses allowed to access the Managed Database in CIDR notation (defaults to /32 if excluded). |
| mysql_sql_modes | Array of strings A list of SQL modes to enable on the Managed Database (MySQL engine types only).
|
| mysql_require_primary_key | boolean Require a primary key for all tables on the Managed Database (MySQL engine types only). |
| mysql_slow_query_log | boolean Enable or disable slow query logging on the Managed Database (MySQL engine types only). |
| mysql_long_query_time | integer The number of seconds to denote a slow query when logging is enabled (MySQL engine types only). |
| redis_eviction_policy | string Deprecated Set the data eviction policy for the Managed Database (Redis engine types only) |
| eviction_policy | string Set the data eviction policy for the Managed Database (Valkey engine types only) |
| enable_kafka_rest | boolean Enable or disable Kafka REST support on the Managed Database (Kafka engine types only on business plans or higher). |
| enable_schema_registry | boolean Enable or disable Schema Registry support on the Managed Database (Kafka engine types only on business plans or higher). |
| enable_kafka_connect | boolean Enable or disable Kafka Connect support on the Managed Database (Kafka engine types only on business plans or higher). |
{- "plan": "vultr-dbaas-startup-cc-1-55-2",
- "label": "Example Managed Database"
}{- "database": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "plan_disk": 25,
- "plan_ram": 1024,
- "plan_vcpus": 1,
- "plan_replicas": 0,
- "region": "EWR",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "some label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "pending_charges": 0,
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York",
- "read_replicas": [
- "..."
]
}
}Delete a Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get disk, memory, and vCPU usage information for a Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/usage" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "usage": {
- "disk": {
- "current_gb": 1.25,
- "max_gb": 55,
- "percentage": 2.27
}, - "memory": {
- "current_mb": 768,
- "max_mb": 2048,
- "percentage": 37.5
}, - "cpu": {
- "percentage": 4.65
}
}
}List all database users within the Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/users" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "users": [
- {
- "username": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "encryption": "Default (MySQL 8+)"
}, - {
- "username": "ANOTHER_USER_HERE",
- "password": "PASSWORD_GOES_HERE",
- "encryption": "Legacy (MySQL 5.x)"
}
], - "meta": {
- "total": 2
}
}Create a new database user within the Managed Database. Supply optional attributes as desired.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| username required | string The username of the database user. |
| password | string The password for the database user. This can be omitted to auto-generate a secure password. |
| encryption | string The password encryption type for the database user (MySQL engine types only).
|
| permission | string The permission level for the database user (Kafka engine types only).
|
{- "username": "some_new_user",
- "password": "some_secure_password",
- "encryption": "caching_sha2_password"
}{- "user": {
- "username": "some_new_user",
- "password": "some_secure_password",
- "encryption": "Default (MySQL 8+)"
}
}Get information about a Managed Database user.
| database-id required | string The Managed Database ID. |
| username required | string The database user. |
curl "https://api.vultr.com/v2/databases/{database-id}/users/{username}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "user": {
- "username": "some_username",
- "password": "some_secure_password",
- "encryption": "Default (MySQL 8+)"
}
}Update database user information within a Managed Database.
| database-id required | string The Managed Database ID. |
| username required | string The database user. |
Include a JSON object in the request body with a content type of application/json.
| password required | string The password for the database user. This can be empty to auto-generate a new secure password. |
{- "password": "some_new_password_here"
}{- "user": {
- "username": "some_username",
- "password": "some_secure_password",
- "encryption": "Default (MySQL 8+)"
}
}Delete a database user within a Managed Database.
| database-id required | string The Managed Database ID. |
| username required | string The database user. |
curl "https://api.vultr.com/v2/databases/{database-id}/users/{username}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Configure access control settings for a Managed Database user (Valkey and Kafka engine types only).
| database-id required | string The Managed Database ID. |
| username required | string The database user. |
Include a JSON object in the request body with a content type of application/json.
| redis_acl_categories | Array of strings Deprecated A list of rules for command categories. |
| redis_acl_channels | Array of strings Deprecated A list of publish/subscribe channel patterns. |
| redis_acl_commands | Array of strings Deprecated A list of rules for individual commands. |
| redis_acl_keys | Array of strings Deprecated A list of key access rules. |
| acl_categories | Array of strings A list of rules for command categories. |
| acl_channels | Array of strings A list of publish/subscribe channel patterns. |
| acl_commands | Array of strings A list of rules for individual commands. |
| acl_keys | Array of strings A list of key access rules. |
{- "acl_categories": [
- "+@all"
], - "acl_channels": [
- "*"
], - "acl_commands": [ ],
- "acl_keys": [
- "*"
]
}{- "user": {
- "username": "some_username",
- "password": "some_secure_password",
- "access_control": {
- "acl_categories": [
- "+@all"
], - "acl_channels": [
- "*"
], - "acl_commands": [ ],
- "acl_keys": [
- "*"
]
}
}
}List all logical databases within the Managed Database (MySQL and PostgreSQL only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/dbs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "dbs": [
- {
- "name": "defaultdb"
}, - {
- "name": "another_db"
}
], - "meta": {
- "total": 2
}
}Create a new logical database within the Managed Database (MySQL and PostgreSQL only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| name required | string The name of the logical database. |
{- "name": "new_db_name"
}{- "db": {
- "name": "new_db_name"
}
}Get information about a logical database within a Managed Database (MySQL and PostgreSQL only).
| database-id required | string The Managed Database ID. |
| db-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/dbs/{db-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "db": {
- "name": "some_db_name"
}
}Delete a logical database within a Managed Database (MySQL and PostgreSQL only).
| database-id required | string The Managed Database ID. |
| db-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/dbs/{db-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all topics within the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/topics" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "topics": [
- {
- "name": "some_topic",
- "partitions": 3,
- "replication": 2,
- "retention_hours": 160,
- "retention_bytes": -1
}, - {
- "name": "some_topic_2",
- "partitions": 5,
- "replication": 3,
- "retention_hours": 120,
- "retention_bytes": 150000
}
], - "meta": {
- "total": 2
}
}Create a new topic within the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| name required | string The name for the database topic. |
| partitions required | integer The number of partitions for the database topic. |
| replication required | integer The replication factor for the database topic. |
| retention_hours required | integer The retention hours for the database topic. |
| retention_bytes required | integer The retention bytes for the database topic. |
{- "name": "some_new_topic",
- "partitions": 3,
- "replication": 2,
- "retention_hours": 160,
- "retention_bytes": -1
}{- "topic": {
- "name": "some_new_topic",
- "partitions": 3,
- "replication": 2,
- "retention_hours": 160,
- "retention_bytes": -1
}
}Get information about a Managed Database topic (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| topic-name required | string The database topic. |
curl "https://api.vultr.com/v2/databases/{database-id}/topics/{topic-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "topic": {
- "name": "some_topic",
- "partitions": 3,
- "replication": 2,
- "retention_hours": 160,
- "retention_bytes": -1
}
}Update topic information within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| topic-name required | string The database topic. |
Include a JSON object in the request body with a content type of application/json.
| partitions | integer The number of partitions for the database topic. |
| replication | integer The replication factor for the database topic. |
| retention_hours | integer The retention hours for the database topic. |
| retention_bytes | integer The retention bytes for the database topic. |
{- "partitions": 5,
- "replication": 3,
- "retention_hours": 120,
- "retention_bytes": 150000
}{- "topic": {
- "name": "some_topic",
- "partitions": 5,
- "replication": 3,
- "retention_hours": 120,
- "retention_bytes": 150000
}
}Delete a topic within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| topic-name required | string The database topic. |
curl "https://api.vultr.com/v2/databases/{database-id}/topics/{topic-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all quotas within the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/quotas" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "quotas": [
- {
- "client_id": "some_client",
- "user": "vultradmin",
- "consumer_byte_rate": 12345,
- "producer_byte_rate": 23456,
- "request_percentage": 20
}
], - "meta": {
- "total": 1
}
}Create a new quota within the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| client_id required | string The client ID for the database quota. Note: Creating a new quota with the same client ID and user will overwrite the previous record. |
| user required | string The user for the database quota. |
| consumer_byte_rate required | integer The consumer byte rate for the database quota. |
| producer_byte_rate required | integer The producer byte rate for the database quota. |
| request_percentage required | integer The CPU request percentage for the database quota. |
{- "client_id": "some_new_client",
- "user": "vultradmin",
- "consumer_byte_rate": 12345,
- "producer_byte_rate": 23456,
- "request_percentage": 20
}{- "quota": {
- "client_id": "some_new_quota",
- "user": "vultradmin",
- "consumer_byte_rate": 12345,
- "producer_byte_rate": 23456,
- "request_percentage": 20
}
}Get information about a Managed Database quota (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| client-id required | string |
| username required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/quotas/{client-id}/{username}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "quota": {
- "client_id": "some_quota",
- "user": "vultradmin",
- "consumer_byte_rate": 12345,
- "producer_byte_rate": 23456,
- "request_percentage": 20
}
}Update quota information within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| client-id required | string |
| username required | string |
Include a JSON object in the request body with a content type of application/json.
| consumer_byte_rate required | integer The consumer byte rate for the database quota. |
| producer_byte_rate required | integer The producer byte rate for the database quota. |
| request_percentage required | integer The CPU request percentage for the database quota. |
{- "consumer_byte_rate": 12345,
- "producer_byte_rate": 23456,
- "request_percentage": 20
}{- "quota": {
- "client_id": "some_quota",
- "user": "vultradmin",
- "consumer_byte_rate": 12345,
- "producer_byte_rate": 23456,
- "request_percentage": 20
}
}Delete a quota within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| client-id required | string |
| username required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/quotas/{client-id}/{username}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all available connectors for the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/available-connectors" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "available_connectors": [
- {
- "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
- "title": "Couchbase Sink",
- "version": "4.1.11",
- "type": "sink",
}
]
}Get the configuration schema for the Managed Database connector (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-class required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/available-connectors/{connector-class}/configuration" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "configuration_schema": [
- {
- "name": "couchbase.seed.nodes",
- "type": "LIST",
- "required": true,
- "default_value": "",
- "description": "Addresses of Couchbase Server nodes, delimited by commas.\n\nIf a custom port is specified, it must be the KV port (which is normally 11210 for insecure connections, or 11207 for secure connections)."
}
]
}List all connectors within the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "connectors": [
- {
- "name": "some_connector",
- "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
- "topics": "some_topic",
- "config": {
- "couchbase.seed.nodes": 3,
- "couchbase.username": "some_username",
- "couchbase.password": "some_password"
}
}
], - "meta": {
- "total": 1
}
}Create a new connector within the Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| name required | string The name for the database connector. |
| class required | string The class for the database connector. |
| topics required | string A comma-separated list of topics to use with the database connector. |
| config | object A JSON object containing the configuration properties you wish to use with this database connector. See Get Database Connector Configuration Schema for a list of available/required options for a connector. |
{- "name": "some_connector",
- "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
- "topics": "some_topic",
- "config": {
- "couchbase.seed.nodes": 3,
- "couchbase.username": "some_username",
- "couchbase.password": "some_password"
}
}{- "connector": {
- "name": "some_connector",
- "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
- "topics": "some_topic",
- "config": {
- "couchbase.seed.nodes": 3,
- "couchbase.username": "some_username",
- "couchbase.password": "some_password"
}
}
}Get information about a Managed Database connector (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "connector": {
- "name": "some_connector",
- "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
- "topics": "some_topic",
- "config": {
- "couchbase.seed.nodes": 3,
- "couchbase.username": "some_username",
- "couchbase.password": "some_password"
}
}
}Update connector information within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
Include a JSON object in the request body with a content type of application/json.
| topics | string A comma-separated list of topics to use with the database connector. |
| config | object A JSON object containing the configuration properties you wish to use with this database connector. See Get Database Connector Configuration Schema for a list of available/required options for a connector. Updating this will replace the entire configuration object currently set. |
{- "topics": "some_topic",
- "config": {
- "couchbase.seed.nodes": 3,
- "couchbase.username": "some_username",
- "couchbase.password": "some_password"
}
}{- "connector": {
- "name": "some_connector",
- "class": "com.couchbase.connect.kafka.CouchbaseSinkConnector",
- "topics": "some_topic",
- "config": {
- "couchbase.seed.nodes": 3,
- "couchbase.username": "some_username",
- "couchbase.password": "some_password"
}
}
}Delete a connector within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get status information about a Managed Database connector (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/status" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "connector_status": {
- "state": "RUNNING",
- "tasks": [
- {
- "id": 0,
- "state": "RUNNING",
- "trace": ""
}
]
}
}Restart a connector within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/restart" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Pause a connector within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/pause" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Resume a paused connector within a Managed Database (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/resume" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Restart a task within a Managed Database connector (Kafka engine types only).
| database-id required | string The Managed Database ID. |
| connector-name required | string |
| task-id required | string The connector task's ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/connectors/{connector-name}/tasks/{task-id}/restart" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all available maintenance updates within the Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/maintenance" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "available_updates": [
- "update_description_here",
- "another_description_here"
]
}Start maintenance updates for the Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/maintenance" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "message": "Maintenance updates initialized. Please note the maintenance consists of switching to a new server that will host the service and all pending updates will be applied. This will cause a short service interruption."
}List service alert messages for the Managed Database.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| period required | string The time range to list Managed Database service alerts from. |
{- "period": "day"
}{- "alerts": [
- {
- "timestamp": "2023-02-10 12:40:19",
- "message_type": "RESOURCE USAGE DISK",
- "description": "Disk usage is critically high for a database service, service is not performing normally.",
- "recommendation": "We recommend you review your application or upgrade to the next plan size.",
- "resource_type": "disk"
}, - {
- "timestamp": "2023-02-09 15:41:20",
- "message_type": "MAINTENANCE SCHEDULED",
- "description": "Mandatory maintenance has been scheduled for a database service.",
- "maintenance_scheduled": "2023-02-12 01:00:00 (UTC)"
}
]
}View the status of a migration attached to the Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/migration" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "migration": {
- "status": "complete",
- "method": "replication",
- "credentials": {
- "host": "some_host",
- "port": 3306,
- "username": "some_username",
- "password": "some_password",
- "database": "some_database",
- "ignored_databases": "",
- "ssl": true
}
}
}Start a migration to the Managed Database.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| host required | string The host name of the source server. |
| port required | integer The connection port of the source server. |
| username required | string The username of the source server. Uses |
| password required | string The password of the source server. |
| database | string The database of the source server. Required for MySQL/PostgreSQL engine types, but excluded for Valkey. |
| ignored_databases | string Comma-separated list of ignored databases on the source server. Excluded for Valkey engine types. |
| ssl required | boolean The true/false value for whether SSL is needed to connect to the source server. |
{- "host": "some_host",
- "port": 3306,
- "username": "some_username",
- "password": "some_password",
- "database": "some_database",
- "ignored_databases": "",
- "ssl": true
}{- "migration": {
- "status": "pending",
- "credentials": {
- "host": "some_host",
- "port": 3306,
- "username": "some_username",
- "password": "some_password",
- "database": "some_database",
- "ignored_databases": "",
- "ssl": true
}
}
}Detach a migration from the Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/migration" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Create a read-only replica node for the Managed Database.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| region required | string The Region id where the Managed Database is located. |
| label required | string A user-supplied label for this Managed Database. |
{- "region": "ewr",
- "label": "new_read_replica_label"
}{- "database": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "plan_disk": 25,
- "plan_ram": 1024,
- "plan_vcpus": 1,
- "plan_replicas": 0,
- "region": "EWR",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "some label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York"
}
}Promote a read-only replica node to its own primary Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/promote-read-replica" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get backup information for the Managed Database.
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/backups \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "latest_backup": {
- "date": "2023-02-07",
- "time": "20:51:05"
}, - "oldest_backup": {
- "date": "2023-02-05",
- "time": "20:51:07"
}
}Create a new Managed Database from a backup.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| label required | string A user-supplied label for this Managed Database. |
| type | string The type of backup restoration to use for this Managed Database.
|
| date | string The backup date to use when restoring the Managed Database in YYYY-MM-DD date format. Required for |
| time | string The backup time to use when restoring the Managed Database in HH-MM-SS time format (24-hour UTC). Required for |
{- "label": "new_restore_label",
- "type": "pitr",
- "date": "2023-02-06",
- "time": "08:00:00"
}{- "database": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-hobbyist-cc-1-25-1",
- "plan_disk": 25,
- "plan_ram": 1024,
- "plan_vcpus": 1,
- "plan_replicas": 0,
- "region": "EWR",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "some label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York"
}
}Fork a Managed Database to a new subscription from a backup.
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| label required | string A user-supplied label for this Managed Database. |
| region required | string The Region id where the Managed Database is located. |
| plan required | string The Plan id to use when deploying this Managed Database. |
| vpc_id | string The VPC id to use when deploying this Managed Database. It can also be set to |
| type | string The type of backup restoration to use for this Managed Database.
|
| date | string The backup date to use when restoring the Managed Database in YYYY-MM-DD date format. Required for |
| time | string The backup time to use when restoring the Managed Database in HH-MM-SS time format (24-hour UTC). Required for |
{- "label": "new_fork_label",
- "region": "sea",
- "plan": "vultr-dbaas-startup-cc-2-80-4",
- "type": "pitr",
- "date": "2023-02-06",
- "time": "08:00:00"
}{- "database": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2022-05-09 10:13:31",
- "plan": "vultr-dbaas-startup-cc-2-80-4",
- "plan_disk": 80,
- "plan_ram": 4096,
- "plan_vcpus": 2,
- "plan_replicas": 0,
- "region": "SEA",
- "database_engine": "mysql",
- "database_engine_version": 8,
- "vpc_id": "d39bf0bf-e050-47d4-a291-5d6fc736f250",
- "status": "Running",
- "label": "new_fork_label",
- "tag": "some tag",
- "dbname": "defaultdb",
- "host": "HOSTNAME_GOES_HERE",
- "public_host": "PUBLIC_HOSTNAME_GOES_HERE",
- "user": "vultradmin",
- "password": "PASSWORD_GOES_HERE",
- "port": 16751,
- "maintenance_dow": "sunday",
- "maintenance_time": "06:00:00",
- "backup_hour": "23",
- "backup_minute": "57",
- "latest_backup": "2022-11-02 12:58:18\"",
- "trusted_ips": [
- "..."
], - "ca_certificate": "-----BEGIN CERTIFICATE ...",
- "mysql_sql_modes": [
- "ANSI",
- "ERROR_FOR_DIVISION_BY_ZERO",
- "NO_ENGINE_SUBSTITUTION",
- "NO_ZERO_DATE",
- "NO_ZERO_IN_DATE",
- "STRICT_ALL_TABLES"
], - "mysql_require_primary_key": true,
- "mysql_slow_query_log": false,
- "cluster_time_zone": "America/New_York"
}
}List all connection pools within the Managed Database (PostgreSQL engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/connection-pools" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "connections": {
- "used": 12,
- "available": 10,
- "max": 22
}, - "connection_pools": [
- {
- "name": "first_pool_name",
- "database": "some_db_name",
- "username": "some_username",
- "mode": "transaction",
- "size": 5
}, - {
- "name": "second_pool_name",
- "database": "another_db_name",
- "username": "another_username",
- "mode": "session",
- "size": 7
}
], - "meta": {
- "total": 2
}
}Create a new connection pool within the Managed Database (PostgreSQL engine types only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| name required | string The name of the connection pool. |
| database required | string The logical database associated with the connection pool. |
| username required | string The database user associated with the connection pool. |
| mode required | string The mode for the connection pool.
|
| size required | integer The size of the connection pool. |
{- "name": "new_connection_pool",
- "database": "some_database",
- "username": "some_user",
- "mode": "transaction",
- "size": 5
}{- "connection_pool": {
- "name": "new_connection_pool",
- "database": "some_database",
- "username": "some_user",
- "mode": "transaction",
- "size": 5
}
}Get information about a Managed Database connection pool (PostgreSQL engine types only).
| database-id required | string The Managed Database ID. |
| pool-name required | string The connection pool name. |
curl "https://api.vultr.com/v2/databases/{database-id}/connection-pools/{pool-name}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "connection_pool": {
- "name": "some_connection_pool",
- "database": "some_database",
- "username": "some_user",
- "mode": "transaction",
- "size": 5
}
}Update connection-pool information within a Managed Database (PostgreSQL engine types only).
| database-id required | string The Managed Database ID. |
| pool-name required | string The connection pool name. |
Include a JSON object in the request body with a content type of application/json.
| database | string The logical database associated with the connection pool. |
| username | string The database user associated with the connection pool. |
| mode | string The mode for the connection pool.
|
| size | integer The size of the connection pool. |
{- "mode": "session"
}{- "connection_pool": {
- "name": "some_connection_pool",
- "database": "some_database",
- "username": "some_user",
- "mode": "transaction",
- "size": 5
}
}Delete a connection pool within a Managed Database (PostgreSQL engine types only).
| database-id required | string The Managed Database ID. |
| pool-name required | string The connection pool name. |
curl "https://api.vultr.com/v2/databases/{database-id}/connection-pools/{pool-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all configured and available advanced options for the Managed Database (MySQL, PostgreSQL, and Kafka engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/advanced-options" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "configured_options": {
- "jit": false,
- "temp_file_limit": 10000,
- "track_io_timing": "off"
}, - "available_options": [
- {
- "name": "autovacuum_analyze_scale_factor",
- "type": "float",
- "min_value": 0,
- "max_value": 1
}, - {
- "name": "autovacuum_analyze_threshold",
- "type": "int",
- "min_value": 0,
- "max_value": 2147483647
}, - "..."
]
}Updates an advanced configuration option for the Managed Database (MySQL, PostgreSQL, and Kafka engine types only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| autovacuum_analyze_scale_factor | number <float> Accepted values: 0 - 1 |
| autovacuum_analyze_threshold | integer Accepted values: 0 - 2147483647 |
| autovacuum_freeze_max_age | integer Accepted values: 200000000 - 1500000000 |
| autovacuum_max_workers | integer Accepted values: 1 - 20 |
| autovacuum_naptime | integer Accepted values: 1 - 86400 |
| autovacuum_vacuum_cost_delay | integer Accepted values: -1 - 100 |
| autovacuum_vacuum_cost_limit | integer Accepted values: -1 - 10000 |
| autovacuum_vacuum_scale_factor | number <float> Accepted values: 0 - 1 |
| autovacuum_vacuum_threshold | integer Accepted values: 0 - 2147483647 |
| bgwriter_delay | integer Accepted values: 10 - 10000 |
| bgwriter_flush_after | integer Accepted values: 0 - 2048 |
| bgwriter_lru_maxpages | integer Accepted values: 0 - 1073741823 |
| bgwriter_lru_multiplier | number <float> Accepted values: 0 - 10 |
| deadlock_timeout | integer Accepted values: 500 - 1800000 |
| default_toast_compression | string Enum: "lz4" "pglz" |
| idle_in_transaction_session_timeout | integer Accepted values: 0 - 604800000 |
| jit | boolean |
| log_autovacuum_min_duration | integer Accepted values: -1 - 2147483647 |
| log_error_verbosity | string Enum: "TERSE" "DEFAULT" "VERBOSE" |
| log_line_prefix | string Enum: "'pid=%p,user=%u,db=%d,app=%a,client=%h '" "'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '" "'%m [%p] %q[user=%u,db=%d,app=%a] '" |
| log_min_duration_statement | integer Accepted values: -1 - 86400000 |
| max_files_per_process | integer Accepted values: 1000 - 4096 |
| max_locks_per_transaction | integer Accepted values: 64 - 6400 |
| max_logical_replication_workers | integer Accepted values: 4 - 64 |
| max_parallel_workers | integer Accepted values: 0 - 96 |
| max_parallel_workers_per_gather | integer Accepted values: 0 - 96 |
| max_pred_locks_per_transaction | integer Accepted values: 64 - 5120 |
| max_prepared_transactions | integer Accepted values: 0 - 10000 |
| max_replication_slots | integer Accepted values: 8 - 64 |
| max_stack_depth | integer Accepted values: 2097152 - 6291456 |
| max_standby_archive_delay | integer Accepted values: 1 - 43200000 |
| max_standby_streaming_delay | integer Accepted values: 1 - 43200000 |
| max_wal_senders | integer Accepted values: 20 - 64 |
| max_worker_processes | integer Accepted values: 8 - 96 |
| pg_partman_bgw.interval | integer Accepted values: 3600 - 604800 |
| pg_partman_bgw.role | string Maximum length: 64 characters |
| pg_stat_statements.track | string Enum: "all" "top" "none" |
| temp_file_limit | integer Accepted values: -1 - 2147483647 |
| track_activity_query_size | integer Accepted values: 1024 - 10240 |
| track_commit_timestamp | string Enum: "off" "on" |
| track_functions | string Enum: "all" "pl" "none" |
| track_io_timing | string Enum: "off" "on" |
| wal_sender_timeout | integer Accepted values: 0, 5000 - 10800000 |
| wal_writer_delay | integer Accepted values: 10 - 200 |
{- "jit": false,
- "temp_file_limit": 10000,
- "track_io_timing": "off"
}{- "configured_options": {
- "jit": false,
- "temp_file_limit": 10000,
- "track_io_timing": "off"
}, - "available_options": [
- {
- "name": "autovacuum_analyze_scale_factor",
- "type": "float",
- "min_value": 0,
- "max_value": 1
}, - {
- "name": "autovacuum_analyze_threshold",
- "type": "int",
- "min_value": 0,
- "max_value": 2147483647
}, - "..."
]
}List all configured and available Kafka REST advanced options for the Managed Database (Kafka engine types only on business plans or higher).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/advanced-options/kafka-rest" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "configured_options": {
- "producer_acks": "1",
- "producer_compression_type": "none"
}, - "available_options": [
- {
- "name": "consumer_enable_auto_commit",
- "type": "bool"
}, - {
- "name": "consumer_request_max_bytes",
- "type": "int",
- "min_value": 1,
- "max_value": 671088640,
- "unit": "bytes"
}, - "..."
]
}Updates a Kafka REST advanced configuration option for the Managed Database (Kafka engine types only on business plans or higher).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| producer_acks | string The number of acknowledgments the producer requires the leader to have received before considering a request complete. If set to |
| producer_compression_type | string Enum: "gzip" "snappy" "lz4" "zstd" "none" |
| producer_linger_ms | integer Accepted values: 1 - 5000 |
| producer_max_request_size | integer Accepted values: 1 - 2147483647 |
| consumer_enable_auto_commit | boolean |
| consumer_request_max_bytes | integer Accepted values: 1 - 671088640 |
| consumer_request_timeout_ms | integer Accepted values: 1000 - 30000 |
| name_strategy | string Name strategy to use when selecting subject for storing schemas. |
| name_strategy_validation | boolean |
| simpleconsumer_pool_size_max | integer Accepted values: 10 - 250 |
{- "producer_acks": "1",
- "producer_compression_type": "none"
}{- "configured_options": {
- "producer_acks": "1",
- "producer_compression_type": "none"
}, - "available_options": [
- {
- "name": "consumer_enable_auto_commit",
- "type": "bool"
}, - {
- "name": "consumer_request_max_bytes",
- "type": "int",
- "min_value": 1,
- "max_value": 671088640,
- "unit": "bytes"
}, - "..."
]
}List all configured and available Schema Registry advanced options for the Managed Database (Kafka engine types only on business plans or higher).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/advanced-options/schema-registry" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "configured_options": {
- "leader_eligibility": true,
- "retriable_errors_silenced": true
}, - "available_options": [
- {
- "name": "schema_reader_strict_mode",
- "type": "bool"
}
]
}Updates a Schema Registry advanced configuration option for the Managed Database (Kafka engine types only on business plans or higher).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| leader_eligibility | boolean |
| schema_reader_strict_mode | boolean |
| retriable_errors_silenced | boolean |
{- "leader_eligibility": true,
- "retriable_errors_silenced": true
}{- "configured_options": {
- "leader_eligibility": true,
- "retriable_errors_silenced": true
}, - "available_options": [
- {
- "name": "schema_reader_strict_mode",
- "type": "bool"
}
]
}List all configured and available Kafka Connect advanced options for the Managed Database (Kafka engine types only on business plans or higher).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/advanced-options/kafka-connect" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "configured_options": {
- "consumer_max_poll_records": 500,
- "offset_flush_timeout_ms": 5000
}, - "available_options": [
- {
- "name": "connector_client_config_override_policy",
- "type": "string"
}, - {
- "name": "consumer_auto_offset_reset",
- "type": "string"
}, - "..."
]
}Updates a Kafka Connect advanced configuration option for the Managed Database (Kafka engine types only on business plans or higher).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| connector_client_config_override_policy | string Defines what client configurations can be overridden by the connector. Default is None. |
| consumer_auto_offset_reset | string What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest. |
| consumer_fetch_max_bytes | integer Accepted values: 1048576 - 104857600 |
| consumer_isolation_level | string Transaction read isolation level. |
| consumer_max_partition_fetch_bytes | integer Accepted values: 1048576 - 104857600 |
| consumer_max_poll_interval_ms | integer Accepted values: 1 - 2147483647 |
| consumer_max_poll_records | integer Accepted values: 1 - 10000 |
| offset_flush_interval_ms | integer Accepted values: 1 - 100000000 |
| offset_flush_timeout_ms | integer Accepted values: 1 - 2147483647 |
| producer_batch_size | integer Accepted values: 1 - 5242880 |
| producer_buffer_memory | integer Accepted values: 5242880 - 134217728 |
| producer_compression_type | string Enum: "gzip" "snappy" "lz4" "zstd" "none" |
| producer_linger_ms | integer Accepted values: 1 - 5000 |
| producer_max_request_size | integer Accepted values: 131072 - 67108864 |
| scheduled_rebalance_max_delay_ms | integer Accepted values: 1 - 600000 |
| session_timeout_ms | integer Accepted values: 1 - 2147483647 |
{- "consumer_max_poll_records": 500,
- "offset_flush_timeout_ms": 5000
}{- "configured_options": {
- "consumer_max_poll_records": 500,
- "offset_flush_timeout_ms": 5000
}, - "available_options": [
- {
- "name": "connector_client_config_override_policy",
- "type": "string"
}, - {
- "name": "consumer_auto_offset_reset",
- "type": "string"
}, - "..."
]
}List all available version upgrades within the Managed Database (PostgreSQL and Kafka engine types only).
| database-id required | string The Managed Database ID. |
curl "https://api.vultr.com/v2/databases/{database-id}/version-upgrade" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "available_versions": [
- "12",
- "13",
- "14",
- "15"
]
}Start a version upgrade for the Managed Database (PostgreSQL and Kafka engine types only).
| database-id required | string The Managed Database ID. |
Include a JSON object in the request body with a content type of application/json.
| version required | string The version number to upgrade the Managed Database to. |
{- "version": "15"
}{- "message": "Version upgrade successfully initialized."
}Vultr Marketplace is a platform for vendors to publish custom applications on Vultr's infrastructure.
List all user-supplied variables for a Marketplace App.
| image-id required | string The application's Image ID. |
curl "https://api.vultr.com/v2/marketplace/apps/{image-id}/variables" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "variables": [
- {
- "name": "some_required_field",
- "description": "This is an example required variable field for this marketplace app.",
- "required": true
}, - {
- "name": "some_optional_field",
- "description": "This is an example optional variable field for this marketplace app.",
- "required": false
}
]
}OpenID Connect (OIDC) allows external identity providers to authenticate users and services for your Vultr account. Manage OIDC providers and issuers to enable federated identity.
Get a list of all OIDC Providers in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/oidc/provider" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "providers": [
- {
- "id": "string",
- "issuer_id": "string",
- "name": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new OIDC Provider.
| name | string The provider name. |
| issuer_id | string The OIDC Issuer ID to associate with this provider. |
| private_key_b64 | string Base64-encoded private key for the provider. |
{- "name": "string",
- "issuer_id": "string",
- "private_key_b64": "string"
}{- "provider": {
- "id": "string",
- "issuer_id": "string",
- "name": "string"
}
}Get information about an OIDC Provider.
| provider_id required | string The OIDC Provider ID. |
curl "https://api.vultr.com/v2/oidc/provider/{provider_id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "provider": {
- "id": "string",
- "issuer_id": "string",
- "name": "string"
}
}Create an OIDC token via the specified provider.
| provider_id required | string The OIDC Provider ID. |
| grant_type | string The OAuth 2.0 grant type. |
| subject_token | string The subject token for token exchange. |
| subject_token_type | string The type of the subject token. |
{- "grant_type": "string",
- "subject_token": "string",
- "subject_token_type": "string"
}{- "access_token": "string",
- "token_type": "string",
- "expires_in": 0
}Get the OpenID Connect discovery document for an OIDC Provider.
| provider_id required | string The OIDC Provider ID. |
curl "https://api.vultr.com/v2/oidc/provider/{provider_id}/.well-known/openid-configuration" \ -X GET
{ }Get a list of all OIDC Issuers in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/oidc/issuer" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "issuers": [
- {
- "id": "string",
- "source": "string",
- "uri": "string",
- "kid": "string",
- "kty": "string",
- "n": "string",
- "e": "string",
- "alg": "string",
- "use": "string",
- "jwks_fetched_at": "2019-08-24T14:15:22Z",
- "jwks_expires_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Create a new OIDC Issuer.
| source | string The issuer source type. |
| uri | string The JWKS URI for the issuer. |
| source_id | string The source identifier for the issuer. |
{- "source": "string",
- "uri": "string",
- "source_id": "string"
}{- "issuer": {
- "id": "string",
- "source": "string",
- "uri": "string",
- "kid": "string",
- "kty": "string",
- "n": "string",
- "e": "string",
- "alg": "string",
- "use": "string",
- "jwks_fetched_at": "2019-08-24T14:15:22Z",
- "jwks_expires_at": "2019-08-24T14:15:22Z"
}
}Get information about an OIDC Issuer.
| issuer_id required | string The OIDC Issuer ID. |
curl "https://api.vultr.com/v2/oidc/issuer/{issuer_id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "issuer": {
- "id": "string",
- "source": "string",
- "uri": "string",
- "kid": "string",
- "kty": "string",
- "n": "string",
- "e": "string",
- "alg": "string",
- "use": "string",
- "jwks_fetched_at": "2019-08-24T14:15:22Z",
- "jwks_expires_at": "2019-08-24T14:15:22Z"
}
}Update an OIDC Issuer.
| issuer_id required | string The OIDC Issuer ID. |
| source | string The issuer source type. |
| uri | string The JWKS URI for the issuer. |
{- "source": "string",
- "uri": "string"
}{- "issuer": {
- "id": "string",
- "source": "string",
- "uri": "string",
- "kid": "string",
- "kty": "string",
- "n": "string",
- "e": "string",
- "alg": "string",
- "use": "string",
- "jwks_fetched_at": "2019-08-24T14:15:22Z",
- "jwks_expires_at": "2019-08-24T14:15:22Z"
}
}Get the JSON Web Key Set (JWKS) for an OIDC Issuer.
| issuer_id required | string The OIDC Issuer ID. |
curl "https://api.vultr.com/v2/oidc/issuer/{issuer_id}/jwks" \ -X GET
{- "keys": [
- { }
]
}List all pending invitations for your organization.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/invitation" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "invitations": [
- {
- "id": "string",
- "inviter_name": "string",
- "inviter_email": "string",
- "email_invited": "string",
- "email_registered": "string",
- "permissions": "string",
- "org_id": "string",
- "org_name": "string",
- "status": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "date_responded": "2019-08-24T14:15:22Z",
- "expiration_date": "2019-08-24T14:15:22Z",
- "invite_status": "string"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Invite a user to your organization.
| email_invited | string The email address to invite. |
| permissions | object Permissions to grant the invited user. |
{- "email_invited": "string",
- "permissions": { }
}{- "invitation": {
- "id": "string",
- "inviter_name": "string",
- "inviter_email": "string",
- "email_invited": "string",
- "email_registered": "string",
- "permissions": "string",
- "org_id": "string",
- "org_name": "string",
- "status": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "date_responded": "2019-08-24T14:15:22Z",
- "expiration_date": "2019-08-24T14:15:22Z",
- "invite_status": "string"
}
}Get information about an Invitation.
| id required | string The Invitation ID. |
curl "https://api.vultr.com/v2/invitation/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "invitation": {
- "id": "string",
- "inviter_name": "string",
- "inviter_email": "string",
- "email_invited": "string",
- "email_registered": "string",
- "permissions": "string",
- "org_id": "string",
- "org_name": "string",
- "status": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "date_responded": "2019-08-24T14:15:22Z",
- "expiration_date": "2019-08-24T14:15:22Z",
- "invite_status": "string"
}
}Resend an invitation email.
| id required | string The Invitation ID. |
curl "https://api.vultr.com/v2/invitation/{id}/resend" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "invitation": {
- "id": "string",
- "inviter_name": "string",
- "inviter_email": "string",
- "email_invited": "string",
- "email_registered": "string",
- "permissions": "string",
- "org_id": "string",
- "org_name": "string",
- "status": "string",
- "date_created": "2019-08-24T14:15:22Z",
- "date_responded": "2019-08-24T14:15:22Z",
- "expiration_date": "2019-08-24T14:15:22Z",
- "invite_status": "string"
}
}Get a list of all Organizations in your account.
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/organizations" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "organizations": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "date_created": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Get information about an Organization.
| id required | string The Organization ID. |
curl "https://api.vultr.com/v2/organizations/{id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "organization": {
- "id": "string",
- "name": "string",
- "type": "string",
- "date_created": "2019-08-24T14:15:22Z"
}
}Update information for an Organization.
| id required | string The Organization ID. |
| name | string The organization name. |
| type | string The organization type. |
{- "name": "string",
- "type": "string"
}{- "organization": {
- "id": "string",
- "name": "string",
- "type": "string",
- "date_created": "2019-08-24T14:15:22Z"
}
}Remove a user from the Organization.
| id required | string The Organization ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/organizations/{id}/user/{user_id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Suspend a user in the Organization.
| id required | string The Organization ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/organizations/{id}/user/{user_id}/suspend" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Unsuspend a user in the Organization.
| id required | string The Organization ID. |
| user_id required | string The User ID. |
curl "https://api.vultr.com/v2/organizations/{id}/user/{user_id}/unsuspend" \ -X PUT \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all suspended users in the Organization.
| id required | string The Organization ID. |
| per_page | number Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/organizations/{id}/suspended-users" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "users": [
- {
- "id": "string",
- "display_name": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "active": true,
- "service_user": true,
- "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}Get the SCIM configuration for an Organization.
| id required | string The Organization ID. |
curl "https://api.vultr.com/v2/organizations/{id}/scim" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "scim": {
- "scim_enabled": true,
- "auth_method": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "scim_token": "string"
}
}Enable SCIM provisioning for an Organization.
| id required | string The Organization ID. |
curl "https://api.vultr.com/v2/organizations/{id}/scim/enable" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "scim": {
- "scim_enabled": true,
- "auth_method": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "scim_token": "string"
}
}Disable SCIM provisioning for an Organization.
| id required | string The Organization ID. |
curl "https://api.vultr.com/v2/organizations/{id}/scim/disable" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "scim": {
- "scim_enabled": true,
- "auth_method": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "scim_token": "string"
}
}Rotate the SCIM authentication token for an Organization.
| id required | string The Organization ID. |
curl "https://api.vultr.com/v2/organizations/{id}/scim/token" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "scim": {
- "scim_enabled": true,
- "auth_method": "string",
- "date_added": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z",
- "scim_token": "string"
}
}SCIM (System for Cross-domain Identity Management) 2.0 endpoints allow identity providers to automatically provision and deprovision users and groups in your Vultr Organization. Authenticate using the SCIM token from your Organization SCIM configuration. Endpoints are available at /scim/v2/.
List Users in your Organization via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| startIndex | integer The 1-based index of the first result in the current set of list results. |
| count | integer Specifies the desired maximum number of query results per page. |
| filter | string Filter expression to select specific resources (e.g., |
curl "https://api.vultr.com/scim/v2/Users" \ -X GET \ -H "Authorization: Bearer ${SCIM_TOKEN}"
{- "schemas": [
- "string"
], - "totalResults": 0,
- "startIndex": 0,
- "itemsPerPage": 0,
- "Resources": [
- {
- "id": "string",
- "schemas": [
- "string"
], - "userName": "string",
- "name": {
- "givenName": "string",
- "familyName": "string"
}, - "displayName": "string",
- "active": true,
- "phoneNumbers": [
- {
- "value": "string",
- "type": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z"
}, - "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}
]
}Create a new User in your Organization via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| schemas | Array of strings SCIM schemas (must include |
| userName | string The user's email address. |
object | |
| displayName | string |
| active | boolean |
Array of objects |
{- "schemas": [
- "string"
], - "userName": "string",
- "name": {
- "givenName": "string",
- "familyName": "string"
}, - "displayName": "string",
- "active": true,
- "phoneNumbers": [
- {
- "value": "string",
- "type": "string"
}
]
}{- "id": "string",
- "schemas": [
- "string"
], - "userName": "string",
- "name": {
- "givenName": "string",
- "familyName": "string"
}, - "displayName": "string",
- "active": true,
- "phoneNumbers": [
- {
- "value": "string",
- "type": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z"
}, - "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}Get a User by ID via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM User ID. |
curl "https://api.vultr.com/scim/v2/Users/{id}" \ -X GET \ -H "Authorization: Bearer ${SCIM_TOKEN}"
{- "id": "string",
- "schemas": [
- "string"
], - "userName": "string",
- "name": {
- "givenName": "string",
- "familyName": "string"
}, - "displayName": "string",
- "active": true,
- "phoneNumbers": [
- {
- "value": "string",
- "type": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z"
}, - "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}Partially update a User via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM User ID. |
| schemas | Array of strings SCIM schemas (must include |
Array of objects |
{- "schemas": [
- "string"
], - "Operations": [
- {
- "op": "add",
- "path": "string",
- "value": null
}
]
}{- "id": "string",
- "schemas": [
- "string"
], - "userName": "string",
- "name": {
- "givenName": "string",
- "familyName": "string"
}, - "displayName": "string",
- "active": true,
- "phoneNumbers": [
- {
- "value": "string",
- "type": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z"
}, - "date_created": "2019-08-24T14:15:22Z",
- "date_updated": "2019-08-24T14:15:22Z"
}Delete a User via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM User ID. |
curl "https://api.vultr.com/scim/v2/Users/{id}" \ -X DELETE \ -H "Authorization: Bearer ${SCIM_TOKEN}"
List Groups in your Organization via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| startIndex | integer The 1-based index of the first result in the current set of list results. |
| count | integer Specifies the desired maximum number of query results per page. |
| filter | string Filter expression to select specific resources (e.g., |
curl "https://api.vultr.com/scim/v2/Groups" \ -X GET \ -H "Authorization: Bearer ${SCIM_TOKEN}"
{- "schemas": [
- "string"
], - "totalResults": 0,
- "startIndex": 0,
- "itemsPerPage": 0,
- "Resources": [
- {
- "id": "string",
- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string",
- "display": "string",
- "$ref": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z",
- "location": "string"
}
}
]
}Create a new Group in your Organization via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| schemas | Array of strings SCIM schemas (must include |
| displayName | string The group display name. |
| externalId | string An external identifier for the group. |
Array of objects |
{- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string"
}
]
}{- "id": "string",
- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string",
- "display": "string",
- "$ref": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z",
- "location": "string"
}
}Get a Group by ID via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM Group ID. |
curl "https://api.vultr.com/scim/v2/Groups/{id}" \ -X GET \ -H "Authorization: Bearer ${SCIM_TOKEN}"
{- "id": "string",
- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string",
- "display": "string",
- "$ref": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z",
- "location": "string"
}
}Replace a Group via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM Group ID. |
| schemas | Array of strings SCIM schemas (must include |
| displayName | string The group display name. |
| externalId | string An external identifier for the group. |
Array of objects |
{- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string"
}
]
}{- "id": "string",
- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string",
- "display": "string",
- "$ref": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z",
- "location": "string"
}
}Partially update a Group via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM Group ID. |
| schemas | Array of strings SCIM schemas (must include |
Array of objects |
{- "schemas": [
- "string"
], - "Operations": [
- {
- "op": "add",
- "path": "string",
- "value": null
}
]
}{- "id": "string",
- "schemas": [
- "string"
], - "displayName": "string",
- "externalId": "string",
- "members": [
- {
- "value": "string",
- "display": "string",
- "$ref": "string"
}
], - "meta": {
- "resourceType": "string",
- "created": "2019-08-24T14:15:22Z",
- "lastModified": "2019-08-24T14:15:22Z",
- "location": "string"
}
}Delete a Group via the SCIM 2.0 protocol. Authenticate using the SCIM token obtained from the Organization SCIM configuration.
| id required | string The SCIM Group ID. |
curl "https://api.vultr.com/scim/v2/Groups/{id}" \ -X DELETE \ -H "Authorization: Bearer ${SCIM_TOKEN}"
Object Storage is S3 API compatible. Objects uploaded to object storage can be accessed privately or publicly on the web. Object storage supports a virtually unlimited number of objects. Control your Object Storage via the API or browse in the Customer Portal.
Get a list of all Object Storage in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/object-storage" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "object_storages": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "cluster_id": 2,
- "region": "ewr",
- "label": "Example Object Storage",
- "status": "active",
- "s3_hostname": "ewr1.vultrobjects.com",
- "s3_access_key": "00example11223344",
- "s3_secret_key": "00example1122334455667788990011",
- "pending_charges": 0,
- "tier": {
- "OBJSTORETIERID": 5,
- "bw_gb_price": 0.01,
- "disk_gb_price": 0.05,
- "archive_disk_gb_price": 0.006,
- "is_default": "no",
- "price": 50,
- "ratelimit_ops_bytes": 1048576000,
- "ratelimit_ops_secs": 4000,
- "sales_desc": "Low-latency storage for datacenter workloads.",
- "sales_name": "Performance",
- "slug": "tier_004k_1000m"
}
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create new Object Storage. The cluster_id attribute is required.
Include a JSON object in the request body with a content type of application/json.
| cluster_id required | integer The Cluster id where the Object Storage will be created. |
| tier_id required | integer The Tier id of the tier to set up for. Must be one of available tiers for the cluster. |
| label | string The user-supplied label for this Object Storage. |
{- "label": "Example Object Storage",
- "cluster_id": 2,
- "tier_id": 4
}{- "object_storage": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "cluster_id": 2,
- "region": "ewr",
- "location": "New Jersey",
- "label": "Example Object Storage",
- "status": "pending",
- "s3_hostname": "ewr1.vultrobjects.com",
- "s3_access_key": "00example11223344",
- "s3_secret_key": "00example1122334455667788990011",
- "pending_charges": 0
}
}Get information about an Object Storage.
| object-storage-id required | string The Object Storage id. |
curl "https://api.vultr.com/v2/object-storage/{object-storage-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "object_storage": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "cluster_id": 2,
- "region": "ewr",
- "label": "Example Object Storage",
- "status": "active",
- "s3_hostname": "ewr1.vultrobjects.com",
- "s3_access_key": "00example11223344",
- "s3_secret_key": "00example1122334455667788990011",
- "pending_charges": 0
}
}Delete an Object Storage.
| object-storage-id required | string The Object Storage id. |
curl "https://api.vultr.com/v2/object-storage/{object-storage-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update the label for an Object Storage.
| object-storage-id required | string The Object Storage id. |
Include a JSON object in the request body with a content type of application/json.
| label required | string The user-supplied label for the Object Storage. |
{- "label": "Updated Object Storage Label"
}Create new Bucket.
| object-storage-id required | string The Object Storage id. |
Include a JSON object in the request body with a content type of application/json.
| bucket_name required | string The user-supplied name of the bucket. |
| versioning | boolean Enable versioning. |
| object_lock | boolean Enable object lock. Automatically enables versioning. |
| archival | boolean Enable archival mode. Cannot be mixed with versioning/object lock. |
{- "bucket_name": "my-cool-bucket,",
- "versioning": "false,",
- "object_lock": "false,",
- "archival": true
}Delete a Bucket.
| object-storage-id required | string The Object Storage id. |
| bucket-name required | string The name of the bucket. |
curl "https://api.vultr.com/v2/object-storage/{object-storage-id}/{bucket-name}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Set the lifecycle policy of a Bucket.
| object-storage-id required | string The Object Storage id. |
| bucket-name required | string The name of the bucket. |
Include a JSON object in the request body with a content type of application/json.
| archive_rules required | Array of arrays |
{- "ID": "MyArchivalLifecycle,",
- "Status": "Enabled,",
- "Filter": {
- "Prefix": null
}, - "Transitions": {
- "Days": "0,",
- "StorageClass": "VULTR_ARCHIVE"
}
}Delete the Bucket Lifecycle Policy.
| object-storage-id required | string The Object Storage id. |
| bucket-name required | string The name of the bucket. |
curl "https://api.vultr.com/v2/object-storage/{object-storage-id}/{bucket-name}/lifecycle" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Set the archival status of a Bucket.
| object-storage-id required | string The Object Storage id. |
| bucket-name required | string The name of the bucket. |
Include a JSON object in the request body with a content type of application/json.
| archival required | boolean |
{- "archival": true
}Regenerate the keys for an Object Storage.
| object-storage-id required | string The Object Storage id. |
curl "https://api.vultr.com/v2/object-storage/{object-storage-id}/regenerate-keys" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "s3_credentials": {
- "s3_hostname": "ewr1.vultrobjects.com",
- "s3_access_key": "00example11223344",
- "s3_secret_key": "00example1122334455667788990011"
}
}Get a list of all Object Storage Clusters.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/object-storage/clusters" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "clusters": [
- {
- "id": 2,
- "region": "ewr",
- "hostname": "ewr1.vultrobjects.com",
- "deploy": "yes"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}curl "https://api.vultr.com/v2/object-storage/tiers" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "tiers": [
- {
- "id": 1,
- "bw_gb_price": 0.01,
- "disk_gb_price": 0.006,
- "archive_disk_gb_price": 0.006,
- "is_default": "yes",
- "locations": [
- {
- "hostname": "ewr1.vultrobjects.com",
- "id": 2,
- "name": "New Jersey",
- "region": "ewr"
}
], - "price": 6,
- "ratelimit_ops_bytes": 314572800,
- "ratelimit_ops_secs": 400,
- "sales_desc": "Vultr's historic object storage solution.",
- "sales_name": "Legacy",
- "slug": "tier_004h_0300m"
}
]
}Get a list of all Object Storage Tiers for a given Cluster.
| cluster-id required | string The Cluster id. |
curl "https://api.vultr.com/v2/object-storage/clusters/{cluster-id}/tiers" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "tiers": [
- {
- "id": 1,
- "bw_gb_price": 0.01,
- "disk_gb_price": 0.006,
- "archive_disk_gb_price": 0.006,
- "is_default": "yes",
- "price": 6,
- "ratelimit_ops_bytes": 314572800,
- "ratelimit_ops_secs": 400,
- "sales_desc": "Vultr's historic object storage solution.",
- "sales_name": "Legacy",
- "slug": "tier_004h_0300m"
}
]
}We have a wide range of operating systems available to deploy server instances. You can also upload an ISO or choose from our public ISO library.
List the OS images available for installation at Vultr.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/os" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "os": [
- {
- "id": 127,
- "name": "CentOS 6 x64",
- "arch": "x64",
- "family": "centos"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}A Plan is a particular configuration of vCPU, RAM, SSD, and bandwidth to deploy an Instance. Not all Plans are available in all Regions. You can browse plans in the Customer Portal or get a list of Plans from the API.
Get a list of all VPS plans at Vultr.
The response is an array of JSON plan objects, with unique id with sub-fields in the general format of:
For example: vc2-24c-96gb-sc1
More about the sub-fields:
<type>: The Vultr type code. For example, vc2, vhf, vdc, etc.<number of cores>: The number of cores, such as 4c for "4 cores", 8c for "8 cores", etc.<memory size>: Size in GB, such as 32gb.<optional modifier>: Some plans include a modifier for internal identification purposes, such as CPU type or location surcharges.Note: This information about plan id format is for general education. Vultr may change the sub-field format or values at any time. You should not attempt to parse the plan ID sub-fields in your code for any specific purpose.
| type | string Filter the results by type.
| ||||||||||||||||||||||||
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. | ||||||||||||||||||||||||
| cursor | string Cursor for paging. See Meta and Pagination. | ||||||||||||||||||||||||
| os | string Filter the results by operating system.
|
curl "https://api.vultr.com/v2/plans" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "plans": [
- {
- "id": "vhf-8c-32gb",
- "vcpu_count": 8,
- "ram": 32768,
- "disk": 512,
- "disk_count": 1,
- "bandwidth": 6144,
- "invoice_type": "monthly",
- "monthly_cost": 192,
- "hourly_cost": 0.26,
- "monthly_cost_preemptible": 192,
- "hourly_cost_preemptible": 0.26,
- "type": "vhf",
- "locations": [
- "sea"
], - "location_cost": {
- "sea": {
- "monthly_cost": 192,
- "hourly_cost": 0.26,
- "monthly_cost_preemptible": 192,
- "hourly_cost_preemptible": 0.26
}
}
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Get a list of all Bare Metal plans at Vultr.
The response is an array of JSON plan objects, with unique id with sub-fields in the general format of:
For example: vc2-24c-96gb-sc1
More about the sub-fields:
<type>: The Vultr type code. For example, vc2, vhf, vdc, etc.<number of cores>: The number of cores, such as 4c for "4 cores", 8c for "8 cores", etc.<memory size>: Size in GB, such as 32gb.<optional modifier>: Some plans include a modifier for internal identification purposes, such as CPU type or location surcharges.Note: This information about plan id format is for general education. Vultr may change the sub-field format or values at any time. You should not attempt to parse the plan ID sub-fields in your code for any specific purpose.
| per_page | string Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/plans-metal" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "plans_metal": [
- {
- "id": "vbm-4c-32gb",
- "cpu_count": 4,
- "cpu_threads": 8,
- "cpu_model": "E3-1270v6",
- "ram": 32768,
- "disk": 240,
- "disk_count": 2,
- "bandwidth": 5120,
- "invoice_type": "monthly",
- "monthly_cost": 300,
- "hourly_cost": 0.41,
- "monthly_cost_preemptible": 300,
- "hourly_cost_preemptible": 0.41,
- "type": "SSD",
- "locations": [
- "ewr"
]
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Deprecated: use VPCs instead.
Private Networks are fully isolated networks accessible only by instances on your account. Each private network is only available in one Region and cannot span across regions. An instance can connect to multiple private networks and you may have up to 5 private networks per region.
Get information about a Private Network.
Deprecated: Use Get a VPC instead.
| network-id required | string The Network id. |
curl "https://api.vultr.com/v2/private-networks/{network-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "network": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "description": "Example Network Description",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24
}
}Delete a Private Network.
Deprecated: Use Delete a VPC instead.
| network-id required | string The Network id. |
curl "https://api.vultr.com/v2/private-networks/{network-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update information for a Private Network.
Deprecated: Use Update a VPC instead.
| network-id required | string The Network id. |
Include a JSON object in the request body with a content type of application/json.
| description required | string The Private Network description. |
{- "description": "Example Private Network"
}Get a list of all Private Networks in your account.
Deprecated: Use List VPCs instead.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/private-networks" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "networks": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "region": "ewr",
- "date_created": "2020-10-10T01:56:20+00:00",
- "description": "Example Network Description",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new Private Network in a region.
Deprecated: Use Create a VPC instead.
Private networks should use [RFC1918 private address space](https://tools.ietf.org/html/rfc1918):
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
Include a JSON object in the request body with a content type of application/json.
| region required | string Create the Private Network in this Region id. |
| description | string A description of the private network. |
| v4_subnet | string The IPv4 network address. For example: 10.99.0.0 |
| v4_subnet_mask | integer The number of bits for the netmask in CIDR notation. Example: 24 |
{- "region": "ewr",
- "description": "Example Private Network",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24
}{- "network": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "description": "Example Private Network",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24
}
}Vultr Serverless Inference intelligently deploys and serves GenAI models without the complexity of infrastructure management.
List all Serverless Inference subscriptions in your account.
curl "https://api.vultr.com/v2/inference" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "subscriptions": [
- {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2024-06-05T10:13:31+00:00",
- "label": "example-inference",
- "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
}
]
}Create a new Serverless Inference subscription.
Include a JSON object in the request body with a content type of application/json.
| label required | string A user-supplied label for this Serverless Inference subscription. |
{- "label": "example-inference"
}{- "subscription": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2024-06-05T10:13:31+00:00",
- "label": "example-inference",
- "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
}
}Get information about a Serverless Inference subscription.
| inference-id required | string The Inference ID. |
curl "https://api.vultr.com/v2/inference/{inference-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "subscription": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2024-06-05T10:13:31+00:00",
- "label": "example-inference",
- "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
}
}Update information for a Serverless Inference subscription.
| inference-id required | string The Inference ID. |
Include a JSON object in the request body with a content type of application/json.
| label | string A user-supplied label for this Serverless Inference subscription. |
{- "label": "example-inference-udpated"
}{- "subscription": {
- "id": "999c4ed0-f2e4-4f2a-a951-de358ceb9ab5",
- "date_created": "2024-06-05T10:13:31+00:00",
- "label": "example-inference-updated",
- "api_key": "ABCD7PQSLLGS6XDHQY4CMHUL55T5YO63EFGH"
}
}Delete a Serverless Inference subscription.
| inference-id required | string The Inference ID. |
curl "https://api.vultr.com/v2/inference/{inference-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get usage information for a Serverless Inference subscription.
| inference-id required | string The Inference ID. |
curl "https://api.vultr.com/v2/inference/{inference-id}/usage" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "usage": {
- "chat_by_model": {
- "current_month": [
- {
- "model": "MiniMaxAI/MiniMax-M2.5",
- "tokens": 1000000,
- "input_tokens": 500000,
- "output_price": 120,
- "input_price": 30
}, - {
- "model": "moonshotai/Kimi-K2.5",
- "tokens": 1234567,
- "input_tokens": 500000,
- "output_price": 275,
- "input_price": 55
}
], - "previous_month": [
- {
- "model": "moonshotai/Kimi-K2.5",
- "tokens": 6543210,
- "input_tokens": 12425821,
- "output_price": 275,
- "input_price": 55
}
]
}, - "audio": {
- "tts_characters": 45678,
- "tts_sm_characters": 23456
}, - "image": {
- "megapixels": 21.35,
- "sm_megapixels": 6.55
}, - "chat": {
- "completion_tokens": 56782401,
- "cost": 156.16,
- "input_tokens": 10380472,
- "input_cost": 5.71,
- "current_tokens": null,
- "monthly_allotment": null,
- "overage": null
}
}
}curl "https://api.vultr.com/v2/tickets" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "tickets": [
- {
- "subject": "Ticket subject",
- "date_created": "2024-06-05T10:13:31+00:00",
- "date_last_entry": "2024-06-05T10:13:31+00:00",
- "entryStatus": "open",
- "linked_subscriptions": [
- {
- "description": "65536.00 MB Regular Cloud Compute",
- "status": "active",
- "type": "vps",
- "uuid": "8481b17d-12f0-4c62-92c3-4ee8c2752761"
}
]
}
]
}Create a new ticket.
| subject required | string Text describing the subject for this ticket. |
| description required | string Detailed text describing the reason for this ticket - will be created as first entry in ticket. |
| sub-uuid | string UUID of the subscription that should be related to this ticket. |
| category | string Which category the ticket is for. If specified, must be one of these values - General Support, Account Cancellation, Billing Questions, Marketplace, API v2. |
{- "subject": "Ticket subject",
- "description": "Example description",
- "sub-uuid": "8481b17d-12f0-4c62-92c3-4ee8c2752761"
}{- "ticket": [
- {
- "subject": "Ticket subject",
- "date_created": "2024-06-05T10:13:31+00:00",
- "date_last_entry": "2024-06-05T10:13:31+00:00",
- "entryStatus": "open",
- "linked_subscriptions": [
- {
- "description": "65536.00 MB Regular Cloud Compute",
- "status": "active",
- "type": "vps",
- "uuid": "8481b17d-12f0-4c62-92c3-4ee8c2752761"
}
]
}
]
}Get information about a ticket.
| reference required | string The reference. |
curl "https://api.vultr.com/v2/tickets/{reference}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "ticket": [
- {
- "subject": "Ticket subject",
- "date_created": "2024-06-05T10:13:31+00:00",
- "date_last_entry": "2024-06-05T10:13:31+00:00",
- "entryStatus": "open",
- "linked_subscriptions": [
- {
- "description": "65536.00 MB Regular Cloud Compute",
- "status": "active",
- "type": "vps",
- "uuid": "8481b17d-12f0-4c62-92c3-4ee8c2752761"
}
]
}
]
}Close an open ticket.
| reference required | string The reference. |
curl "https://api.vultr.com/v2/tickets/{reference}/close" \ -X POST \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all replies for a given ticket. If attachments exist, their metadata is included, but not the contents.
| reference required | string The reference. |
curl "https://api.vultr.com/v2/tickets/{reference}/replies" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "replies": [
- {
- "index": 0,
- "age": "6d",
- "attachments": [
- {
- "context_type": "text/plain",
- "filename": "uploaded_file.txt",
- "index": 0
}
], - "date": "2024-06-05T10:13:31+00:00",
- "entryStatus": "open",
- "description": "Reply message",
- "from_email": "user@example.com",
- "from_name": "Example User",
- "from_type": "sub-user",
- "review_comment": null,
- "review_date": null,
- "review_rating": 10,
- "reviewable": 0
}
]
}Create a new reply to an existing ticket.
| reference required | string The reference. |
| description required | string Reply message |
Array of objects |
{- "description": "Reply message",
- "attachments": [
- {
- "file": "Base64 encoded string",
- "filename": "upload_file.txt"
}
]
}Rate a ticket reply from Vultr.
| comment required | string Rating message |
| rating required | number 1 for positive, -1 for negative, 0 for neutral |
{- "comment": "Reply message",
- "rating": 1
}Get a ticket reply attachment.
| reference required | string The reference. |
| ticket-reply-index required | string The index. |
| ticket-attachment-index required | string The attachments index. |
curl "https://api.vultr.com/v2/tickets/{reference}/replies/{ticket-reply-index}/attachments/{ticket-attachment-index}:" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "attachment": [
- {
- "context_type": "File type",
- "file": "Base64 encoded string of file contents",
- "filename": "uploaded_file.txt",
- "filesize": 16
}
]
}Get information about a VPC.
| vpc-id required | string The VPC ID. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpc": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "description": "Example VPC Description",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24,
- "nodes": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "type": "Instance",
- "subnet": "10.1.96.3"
}
]
}
}Delete a VPC.
| vpc-id required | string The VPC ID. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update information for a VPC.
| vpc-id required | string The VPC ID. |
Include a JSON object in the request body with a content type of application/json.
| description required | string The VPC description. |
{- "description": "Example VPC"
}Get a list of all VPCs in your account.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpcs" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpcs": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "region": "ewr",
- "date_created": "2020-10-10T01:56:20+00:00",
- "description": "Example VPC Description",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24,
- "nodes": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "type": "Instance",
- "subnet": "10.1.96.3"
}
]
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new VPC in a region. VPCs should use RFC1918 private address space:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
Include a JSON object in the request body with a content type of application/json.
| region required | string Create the VPC in this Region id. |
| description | string A description of the VPC. |
| v4_subnet | string The IPv4 VPC address. For example: 10.99.0.0 |
| v4_subnet_mask | integer The number of bits for the netmask in CIDR notation. Example: 24 |
{- "region": "ewr",
- "description": "Example VPC",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24
}{- "vpc": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "description": "Example VPC",
- "v4_subnet": "10.99.0.0",
- "v4_subnet_mask": 24
}
}List VPC Attachments.
| vpc-id required | string The VPC ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/attachments" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "attachments": [
- {
- "id": "string",
- "type": "string",
- "mac_address": "string",
- "date_added": "string",
- "ip": {
- "v4": "string"
}, - "linked_subscription": {
- "type": "string",
- "id": "string"
}
}
], - "meta": {
- "total": 0,
- "links": {
- "next": "string",
- "prev": "string"
}
}
}List all NAT Gateways for this VPC Network.
| vpc-id required | string The VPC ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "nat_gateways": [
- {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfc4",
- "vpc_id": "59d6c282-00a7-4a92-9a41-3ad4d351ebd6",
- "date_created": "2025-09-29 10:38:57",
- "status": "active",
- "label": "sample_label",
- "tag": "sample tag",
- "public_ips": [
- "1.2.3.4"
], - "public_ips_v6": [
- "1234:1234:1234:1234:1234:1234:1234:1234"
], - "private_ips": [
- "10.1.2.3"
], - "billing": {
- "charges": 9.9,
- "monthly": 20.16
}
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new NAT Gateway associated with this VPC Network. Supply optional attributes as desired.
| vpc-id required | string The VPC ID. |
Include a JSON object in the request body with a content type of application/json.
| label | string The user-supplied label for this NAT Gateway. |
| tag | string The user-supplied tag for this NAT Gateway. |
{- "label": "sample_label",
- "tag": "sample tag"
}{- "nat_gateway": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfc4",
- "vpc_id": "59d6c282-00a7-4a92-9a41-3ad4d351ebd6",
- "date_created": "2025-09-29 10:38:57",
- "status": "active",
- "label": "sample_label",
- "tag": "sample tag",
- "public_ips": [
- "1.2.3.4"
], - "public_ips_v6": [
- "1234:1234:1234:1234:1234:1234:1234:1234"
], - "private_ips": [
- "10.1.2.3"
], - "billing": {
- "charges": 9.9,
- "monthly": 20.16
}
}
}Get information about a NAT Gateway.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "nat_gateway": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfc4",
- "vpc_id": "59d6c282-00a7-4a92-9a41-3ad4d351ebd6",
- "date_created": "2025-09-29 10:38:57",
- "status": "active",
- "label": "sample_label",
- "tag": "sample tag",
- "public_ips": [
- "1.2.3.4"
], - "public_ips_v6": [
- "1234:1234:1234:1234:1234:1234:1234:1234"
], - "private_ips": [
- "10.1.2.3"
], - "billing": {
- "charges": 9.9,
- "monthly": 20.16
}
}
}Update information for a NAT Gateway. All attributes are optional. If not set, the attributes will retain their original values.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
Include a JSON object in the request body with a content type of application/json.
| label | string The user-supplied label for this NAT Gateway. |
| tag | string The user-supplied tag for this NAT Gateway. |
{- "label": "sample_label_updated",
- "tag": "sample tag updated"
}{- "nat_gateway": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfc4",
- "vpc_id": "59d6c282-00a7-4a92-9a41-3ad4d351ebd6",
- "date_created": "2025-09-29 10:38:57",
- "status": "active",
- "label": "sample_label_updated",
- "tag": "sample tag updated",
- "public_ips": [
- "1.2.3.4"
], - "public_ips_v6": [
- "1234:1234:1234:1234:1234:1234:1234:1234"
], - "private_ips": [
- "10.1.2.3"
], - "billing": {
- "charges": 9.9,
- "monthly": 20.16
}
}
}Delete a NAT Gateway.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all Firewall Rules for this NAT Gateway.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}/global/firewall-rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_rules": [
- {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfd5",
- "action": "accept",
- "protocol": "tcp",
- "port": "123",
- "subnet": "1.2.3.4",
- "subnet_size": 24,
- "notes": "sample rule"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new Firewall Rule associated with this NAT Gateway. Supply optional attributes as desired.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
Include a JSON object in the request body with a content type of application/json.
| protocol | string The protocol for this firewall rule
|
| port | string The port or port range for this firewall rule. |
| subnet | string The IP address representing a subnet for this firewall rule. |
| subnet_size | string The number of bits for the netmask in CIDR notation. Example: |
| notes | string The user-supplied notes for this firewall rule. |
{- "protocol": "tcp",
- "port": "123",
- "subnet": "1.2.3.4",
- "subnet_size": 24,
- "notes": "sample rule"
}{- "firewall_rule": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfd5",
- "action": "accept",
- "protocol": "tcp",
- "port": "123",
- "subnet": "1.2.3.4",
- "subnet_size": 24,
- "notes": "sample rule"
}
}Get information about a NAT Gateway Firewall Rule.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| firewall-rule-id required | string The Firewall Rule ID. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}/global/firewall-rules/{firewall-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "firewall_rule": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfd5",
- "action": "accept",
- "protocol": "tcp",
- "port": "123",
- "subnet": "1.2.3.4",
- "subnet_size": 24,
- "notes": "sample rule"
}
}Update information for a NAT Gateway Firewall Rule. All attributes are optional. If not set, the attributes will retain their original values.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| firewall-rule-id required | string The Firewall Rule ID. |
Include a JSON object in the request body with a content type of application/json.
| notes | string The user-supplied notes for this firewall rule. |
{- "notes": "sample rule updated"
}{- "firewall_rule": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfd5",
- "action": "accept",
- "protocol": "tcp",
- "port": "123",
- "subnet": "1.2.3.4",
- "subnet_size": 24,
- "notes": "sample rule updated"
}
}Delete a NAT Gateway Firewall Rule.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| firewall-rule-id required | string The Firewall Rule ID. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}/global/firewall-rules/{firewall-rule-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
List all Port Forwarding Rules for this NAT Gateway.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}/global/port-forwarding-rules" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "port_forwarding_rules": [
- {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfe6",
- "name": "sample_rule",
- "protocol": "tcp",
- "external_port": 1234,
- "internal_ip": "10.1.2.3",
- "internal_port": 4321,
- "enabled": true,
- "description": "sample_rule description",
- "created_at": "2025-08-19 09:48:45",
- "updated_at": "2025-08-22 14:18:47"
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new Port Forwarding Rule associated with this NAT Gateway. Supply optional attributes as desired.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
Include a JSON object in the request body with a content type of application/json.
| name | string The name of this port forwarding rule. |
| protocol | string The protocol for this port forwarding rule
|
| external_port | integer The external port associated with this port forwarding rule. |
| internal_ip | string The internal IP address associated with this port forwarding rule. |
| internal_port | integer The internal port associated with this port forwarding rule. |
| enabled | boolean Whether this port forwarding rule is enabled. |
| description | string The user-supplied description for this port forwarding rule. |
{- "name": "sample_rule",
- "protocol": "tcp",
- "external_port": 1234,
- "internal_ip": "10.1.2.3",
- "internal_port": 4321,
- "enabled": true,
- "description": "sample_rule description"
}{- "port_forwarding_rule": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfe6",
- "name": "sample_rule",
- "protocol": "tcp",
- "external_port": 1234,
- "internal_ip": "10.1.2.3",
- "internal_port": 4321,
- "enabled": true,
- "description": "sample_rule description",
- "created_at": "2025-08-19 09:48:45",
- "updated_at": "2025-08-22 14:18:47"
}
}Get information about a NAT Gateway Port Forwarding Rule.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| port-forwarding-rule-id required | string |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}/global/port-forwarding-rules/{port-forwarding-rule-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "port_forwarding_rule": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfe6",
- "name": "sample_rule",
- "protocol": "tcp",
- "external_port": 1234,
- "internal_ip": "10.1.2.3",
- "internal_port": 4321,
- "enabled": true,
- "description": "sample_rule description",
- "created_at": "2025-08-19 09:48:45",
- "updated_at": "2025-08-22 14:18:47"
}
}Update information for a NAT Gateway Port Forwarding Rule. All attributes are optional. If not set, the attributes will retain their original values.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| port-forwarding-rule-id required | string |
Include a JSON object in the request body with a content type of application/json.
| name | string The name of this port forwarding rule. |
| protocol | string The protocol for this port forwarding rule
|
| external_port | integer The external port associated with this port forwarding rule. |
| internal_ip | string The internal IP address associated with this port forwarding rule. |
| internal_port | integer The internal port associated with this port forwarding rule. |
| enabled | boolean Whether this port forwarding rule is enabled. |
| description | string The user-supplied description for this port forwarding rule. |
{- "name": "sample_rule updated",
- "protocol": "tcp",
- "external_port": 1234,
- "internal_ip": "10.1.2.3",
- "internal_port": 4321,
- "enabled": true,
- "description": "sample_rule description updated"
}{- "port_forwarding_rule": {
- "id": "7af46919-f6b0-4f34-8523-1d03911ebfe6",
- "name": "sample_rule updated",
- "protocol": "tcp",
- "external_port": 1234,
- "internal_ip": "10.1.2.3",
- "internal_port": 4321,
- "enabled": true,
- "description": "sample_rule description updated",
- "created_at": "2025-08-19 09:48:45",
- "updated_at": "2025-08-22 14:18:47"
}
}Delete a NAT Gateway port-forwarding Rule.
| vpc-id required | string The VPC ID. |
| nat-gateway-id required | string The NAT Gateway ID. |
| port-forwarding-rule-id required | string |
curl "https://api.vultr.com/v2/vpcs/{vpc-id}/nat-gateway/{nat-gateway-id}/global/port-forwarding-rules/{port-forwarding-rule-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Get information about a VPC 2.0 network.
Deprecated: Migrate to VPC Networks and use Get a VPC instead.
| vpc-id required | string The VPC ID. |
curl "https://api.vultr.com/v2/vpc2/{vpc-id}" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpc": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "description": "Example VPC Description",
- "ip_block": "10.99.0.0",
- "prefix_length": 24
}
}Delete a VPC 2.0 network.
Deprecated: Migrate to VPC Networks and use Delete a VPC instead.
| vpc-id required | string The VPC ID. |
curl "https://api.vultr.com/v2/vpc2/{vpc-id}" \ -X DELETE \ -H "Authorization: Bearer ${VULTR_API_KEY}"
Update information for a VPC 2.0 network.
Deprecated: Migrate to VPC Networks and use Update a VPC instead.
| vpc-id required | string The VPC ID. |
Include a JSON object in the request body with a content type of application/json.
| description required | string The VPC description. Must be no longer than 255 characters and may include only letters, numbers, spaces, underscores and hyphens. |
{- "description": "Example VPC"
}Get a list of all VPC 2.0 networks in your account.
Deprecated: Migrate to VPC Networks and use List VPCs instead.
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpc2" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "vpcs": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "region": "ewr",
- "date_created": "2020-10-10T01:56:20+00:00",
- "description": "Example VPC Description",
- "ip_block": "10.99.0.0",
- "prefix_length": 24
}
], - "meta": {
- "total": 1,
- "links": {
- "next": "",
- "prev": ""
}
}
}Create a new VPC 2.0 network in a region.
Deprecated: Migrate to VPC Networks and use Create a VPC instead.
VPCs should use RFC1918 private address space:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
Include a JSON object in the request body with a content type of application/json.
| region required | string Create the VPC in this Region id. |
| description | string A description of the VPC. Must be no longer than 255 characters and may include only letters, numbers, spaces, underscores and hyphens. |
| ip_type | string Value: "v4" Accepted values:
|
| ip_block | string The VPC subnet IP address. For example: 10.99.0.0 |
| prefix_length | integer The number of bits for the netmask in CIDR notation. Example: 24 |
{- "region": "ewr",
- "description": "Example VPC",
- "ip_block": "10.99.0.0",
- "prefix_length": 24
}{- "vpc": {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "date_created": "2020-10-10T01:56:20+00:00",
- "region": "ewr",
- "description": "Example VPC",
- "ip_block": "10.99.0.0",
- "prefix_length": 24
}
}Get a list of nodes attached to a VPC 2.0 network.
Deprecated: Use VPCs instead.
| vpc-id required | string The VPC ID. |
| per_page | integer Number of items requested per page. Default is 100 and Max is 500. |
| cursor | string Cursor for paging. See Meta and Pagination. |
curl "https://api.vultr.com/v2/vpc2/{vpc-id}/nodes" \ -X GET \ -H "Authorization: Bearer ${VULTR_API_KEY}"
{- "nodes": [
- {
- "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
- "ip_address": "10.1.96.3",
- "mac_address": "98964710968448",
- "description": "Example-Description",
- "type": "vps",
- "node_status": "active"
}
], - "meta": {