API Endpoints
Overview
Gozunga Cloud provides RESTful API endpoints for managing your cloud resources. This documentation is centered around our SiouxFalls region.
Our platform uses OpenStack at its foundation and thus existing tools that use OpenStack's APIs are compatible with our platform.
Base URLs
All API endpoints are accessible through the following base URL pattern:
https://cloud.fsd1.gozunga.com:<service-port>
Service Endpoints
Identity Service (Keystone)
Base URL: https://cloud.fsd1.gozunga.com:5000
- Authentication and token management
- User management
Common Operations:
# Get auth token
POST /v3/auth/tokens
# List projects
GET /v3/projects
# List users
GET /v3/users
Compute Service (Nova)
Base URL: https://cloud.fsd1.gozunga.com:8774
- Create / Modify / Delete Cloud Instances
Common Operations:
# List servers
GET /v2.1/servers
# Create server
POST /v2.1/servers
# Get server details
GET /v2.1/servers/{server_id}
# List flavors
GET /v2.1/flavors
Block Storage (Cinder)
Base URL: https://cloud.fsd1.gozunga.com:8776
- Volume management
- Snapshot operations
- Volume type management
- Backup operations
Common Operations:
# List volumes
GET /v3/volumes
# Create volume
POST /v3/volumes
# Create snapshot
POST /v3/snapshots
Network Service (Neutron)
Base URL: https://cloud.fsd1.gozunga.com:9696
- Network management
- Subnet operations
- Security group configuration
- Router management
- Load balancer configuration
Common Operations:
# List networks
GET /v2.0/networks
# Create port
POST /v2.0/ports
# List security groups
GET /v2.0/security-groups
Image Service (Glance)
Base URL: https://cloud.fsd1.gozunga.com:9292
- Used for managing operating system images
- Modify image metadata
Common Operations:
# List images
GET /v2/images
# Create image
POST /v2/images
# Upload image data
PUT /v2/images/{image_id}/file
Object Storage (S3)
Base URL: https://cloud.fsd1.gozunga.com:6780
- Container management
- Object operations
- Access control
- Large object support
Note: Use Signature v2 option if available
API Versions
Each service may support multiple API versions. Always use the latest stable version unless you have specific compatibility requirements.
Current Stable Versions:
- Identity: v3
- Compute: v2.1
- Block Storage: v3
- Network: v2.0
- Image: v2
- Object Storage: v1
Request Format
Headers
Content-Type: application/json
X-Auth-Token: {your_auth_token}
Example Request
curl -X GET \
https://cloud.fsd1.gozunga.com:8774/v2.1/servers \
-H 'X-Auth-Token: your_token' \
-H 'Content-Type: application/json'
Response Format
Success Response
{
"servers": [
{
"id": "server-id",
"name": "server-name",
"status": "ACTIVE"
}
]
}
Error Response
{
"error": {
"code": 404,
"message": "Resource not found",
"details": "Additional error details"
}
}
Rate Limits
- Default rate limit: 50 requests per second
- Burst limit: 100 requests
- Rate limits are per project
- Exceeded limits return 429 Too Many Requests
Headers for rate limit information:
X-Rate-Limit-Limit: 50
X-Rate-Limit-Remaining: 49
X-Rate-Limit-Reset: 1234567890
Best Practices
Authentication
- Cache authentication tokens
- Implement token refresh logic
- Handle expired tokens gracefully
Error Handling
- Implement exponential backoff
- Handle rate limits appropriately
- Log detailed error responses
Performance
- Use pagination for large datasets
- Minimize API calls
- Implement caching where appropriate
Security
- Always use HTTPS
- Protect authentication tokens
- Implement proper error handling
SDK Support
We recommend using official OpenStack SDKs using Application Credentials, available from Access → Application Credentials in our Cloud Management Portal:
First, install the required packages:
pip install python-openstacksdk
# Python OpenStack SDK
from openstack import connection
conn = connection.Connection(
auth_url='https://cloud.fsd1.gozunga.com:5000/v3',
project_name='your_project',
username='your_username',
password='your_password',
region_name='fsd1'
)
# List servers
servers = conn.compute.servers()
Need Help?
- Support Portal
Updated on: 20/01/2025
Thank you!