API Code Examples
Learn how to integrate with our API using these code examples in various programming languages.
Authentication Examples
Python
import requests
API_KEY = 'your_api_key_here'
BASE_URL = 'https://api.vps-provider.com/v1'
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
# List instances
response = requests.get(f'{BASE_URL}/instances', headers=headers)
instances = response.json()['instances']
# Create instance
instance_data = {
'name': 'web-server-1',
'plan': 'standard-2x',
'region': 'us-east',
'image': 'ubuntu-22.04'
}
response = requests.post(f'{BASE_URL}/instances', headers=headers, json=instance_data)
new_instance = response.json()['instance']
Node.js
const axios = require('axios');
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.vps-provider.com/v1';
const client = axios.create({
baseURL: BASE_URL,
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
});
// List instances
async function listInstances() {
try {
const response = await client.get('/instances');
return response.data.instances;
} catch (error) {
console.error('Error:', error.response.data);
throw error;
}
}
// Create instance
async function createInstance(instanceData) {
try {
const response = await client.post('/instances', instanceData);
return response.data.instance;
} catch (error) {
console.error('Error:', error.response.data);
throw error;
}
}
Instance Management
Go
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
const (
apiKey = "your_api_key_here"
baseURL = "https://api.vps-provider.com/v1"
)
type Instance struct {
ID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
}
func createInstance(name, plan, region, image string) (*Instance, error) {
data := map[string]string{
"name": name,
"plan": plan,
"region": region,
"image": image,
}
jsonData, err := json.Marshal(data)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", baseURL+"/instances", bytes.NewBuffer(jsonData))
if err != nil {
return nil, err
}
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
var result struct {
Instance *Instance `json:"instance"`
}
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
return nil, err
}
return result.Instance, nil
}
Error Handling
Ruby
require 'net/http'
require 'json'
class APIClient
def initialize(api_key)
@api_key = api_key
@base_url = 'https://api.vps-provider.com/v1'
end
def list_instances
uri = URI("#{@base_url}/instances")
request = Net::HTTP::Get.new(uri)
make_request(request)
rescue => e
handle_error(e)
end
private
def make_request(request)
request['Authorization'] = "Bearer #{@api_key}"
request['Content-Type'] = 'application/json'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
handle_response(response)
end
def handle_response(response)
case response
when Net::HTTPSuccess
JSON.parse(response.body)
else
raise "API Error: #{response.code} - #{response.body}"
end
end
def handle_error(error)
case error
when Net::HTTPClientError
raise "Client Error: #{error.message}"
when Net::HTTPServerError
raise "Server Error: #{error.message}"
else
raise "Unknown Error: #{error.message}"
end
end
end
Next Steps
Ready to start building? Check out our API reference for complete endpoint documentation.