Skip to main content

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']}")