Database API Examples
Automated Database Creation
import requests
import os
def create_database(name, db_type='postgresql'):
response = requests.post(
'https://api.wayscloud.services/v1/databases',
headers={'Authorization': f'Bearer {os.getenv("WAYSCLOUD_API_KEY")}'},
json={'db_type': db_type, 'db_name': name}
)
return response.json()
# Create database
db = create_database('test_db')
print(f"Database created: {db['database']['db_name']}")
# Get credentials
creds_response = requests.get(
f'https://api.wayscloud.services/v1/databases/postgresql/test_db/credentials',
headers={'Authorization': f'Bearer {os.getenv("WAYSCLOUD_API_KEY")}'}
)
creds = creds_response.json()
# Connect and use
import psycopg2
conn = psycopg2.connect(creds['connection_string'])
Daily Backup Script
import requests
import os
from datetime import datetime
API_KEY = os.getenv('WAYSCLOUD_API_KEY')
db_type = 'postgresql'
db_name = 'production_db'
# Create snapshot
response = requests.post(
f'https://api.wayscloud.services/v1/databases/{db_type}/{db_name}/snapshots',
headers={'Authorization': f'Bearer {API_KEY}'},
json={'description': f'Daily backup {datetime.now().strftime("%Y-%m-%d")}'}
)
print(f"Snapshot created: {response.json()['snapshot_id']}")