Getting Started
Welcome to the CloudSync Solutions API documentation. This guide covers everything you need to integrate with our platform — from authentication and resource provisioning to monitoring and automation. Our API is built on REST principles and returns standard JSON responses, making it easy to work with from any programming language or HTTP client.
The base URL for all API v2 requests is:
https://api.cloudsync-solutions.ro/v2/
All requests must be made over HTTPS. HTTP requests will be automatically rejected with a 301 Moved Permanently redirect.
Authentication
CloudSync uses API key authentication. Every request must include your API key in the Authorization header using the Bearer scheme. You can generate and manage API keys from the Account Settings section of the CloudSync Dashboard.
Keep your API keys secure. Do not embed them in client-side code or public repositories. Rotate keys immediately if you suspect a key has been compromised.
Example authenticated request using curl:
curl -X GET "https://api.cloudsync-solutions.ro/v2/instances" \ -H "Authorization: Bearer cs_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -H "Accept: application/json"
If your API key is missing or invalid, the API will return a 401 Unauthorized response. If your key is valid but lacks the required permissions for an action, you will receive a 403 Forbidden response.
Quick Start — Creating a VM Instance
The following example demonstrates how to create a new virtual machine instance. Send a POST request to the /instances endpoint with a JSON body describing the desired configuration.
Request:
POST https://api.cloudsync-solutions.ro/v2/instances
Authorization: Bearer cs_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
{
"name": "web-server-01",
"region": "ro-buh-1",
"size": "cs-standard-2vcpu-4gb",
"image": "ubuntu-22-04-x64",
"ssh_keys": ["12345678"],
"backups": false,
"ipv6": true,
"tags": ["production", "web"]
}
Response:
{
"instance": {
"id": "inst_9f3a2b1c4d5e6f7a",
"name": "web-server-01",
"status": "new",
"region": {
"slug": "ro-buh-1",
"name": "Bucharest 1"
},
"size": {
"slug": "cs-standard-2vcpu-4gb",
"vcpus": 2,
"memory_gb": 4,
"disk_gb": 80
},
"image": {
"id": 101,
"name": "Ubuntu 22.04 LTS",
"distribution": "Ubuntu"
},
"networks": {
"v4": [],
"v6": []
},
"tags": ["production", "web"],
"created_at": "2026-03-22T10:14:32Z"
}
}
After creation, the instance will transition from new to active within 30–60 seconds. You can poll the GET /instances/{id} endpoint to monitor its status, or subscribe to webhook events for asynchronous notification.
Rate Limiting
The CloudSync API enforces rate limits to ensure fair usage and platform stability. Limits are applied per API key on a rolling 60-second window.
Current rate limits by plan:
| Plan | Requests / Minute | Burst Allowance |
|---|---|---|
| Standard | 1,000 | 1,200 |
| Enterprise | 5,000 | 6,000 |
Rate limit information is included in the response headers of every API call:
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 847 X-RateLimit-Reset: 1742636400
When you exceed your rate limit, the API returns a 429 Too Many Requests response. You should implement exponential back-off in your client code and respect the Retry-After header value. If you consistently need higher limits, contact contact@cloudsync-solutions.ro to discuss an Enterprise plan.
REST API Overview
The CloudSync REST API follows standard HTTP conventions. Resources are represented as JSON objects and actions map to HTTP verbs:
GET /v2/instances # List all instances
POST /v2/instances # Create a new instance
GET /v2/instances/{id} # Retrieve a specific instance
PATCH /v2/instances/{id} # Update an instance
DELETE /v2/instances/{id} # Delete an instance
Successful responses return 2xx status codes. Errors return appropriate 4xx or 5xx codes with a JSON body containing a message field describing the problem. All timestamps are in ISO 8601 format and expressed in UTC.