API Overview
The Dublyo REST API will let you manage servers, deployments, templates, and billing programmatically. Build custom workflows, integrate with CI/CD pipelines, or create your own deployment tools.
| Base URL | https://api.dublyo.com/v1 |
| Format | JSON |
| Protocol | HTTPS only |
| Rate Limit | 100 req/min |
Authentication
All API requests require a Bearer token in the Authorization
header. You can generate API keys from your dashboard settings.
Authorization: Bearer your_api_key_here
Example Request
# List your servers curl https://api.dublyo.com/v1/servers \ -H "Authorization: Bearer dbl_sk_abc123..."
Servers
Create, list, and manage your cloud servers.
GET /v1/servers
Returns a list of all servers in your account.
{
"servers": [
{
"id": "srv_a1b2c3",
"name": "my-server",
"type": "cx22",
"status": "running",
"ip": "168.119.xx.xx",
"region": "nbg1",
"created_at": "2026-01-15T10:30:00Z"
{"}"}
]
{"}"}
POST /v1/servers
Create a new server.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Server name (e.g., "production-1") |
type |
string | Yes | Server type: cx22, cx32, cx42 |
region |
string | No | Region: nbg1 (default), fsn1, hel1 |
DELETE /v1/servers/:id
Delete a server and all its deployments. Returns 204 No Content.
Deployments
Deploy apps, check status, and manage running deployments.
GET /v1/deployments
List all deployments across your servers.
{
"deployments": [
{
"id": "dep_m4n5o6",
"name": "my-blog",
"status": "running",
"domain": "my-blog.dublyo.co",
"server_id": "srv_a1b2c3",
"template": "wordpress",
"created_at": "2026-01-20T09:15:00Z"
{"}"}
]
{"}"}
POST /v1/deployments
Deploy an app from a template or GitHub repository.
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id |
string | Yes | The server to deploy to |
template |
string | * | Template slug (e.g., "wordpress"). Required if github_repo not set |
github_repo |
string | * | GitHub repo in owner/repo format. Required if template not set |
name |
string | No | App name. Auto-generated if not provided |
env |
object | No | Environment variables as key-value pairs |
POST /v1/deployments/:id/actions
Perform an action: restart, stop, start, redeploy.
DELETE /v1/deployments/:id
Delete a deployment permanently. All app data will be removed.
Templates
Browse available app templates.
GET /v1/templates
List all available templates. Optional query params: category
and search.
{
"templates": [
{
"slug": "wordpress",
"name": "WordPress",
"description": "The world's most popular CMS",
"categories": ["cms"],
"min_memory_mb": 512,
"env_vars": [
{ "key": "WORDPRESS_ADMIN_EMAIL", "label": "Admin Email", "required": true {"}"}
]
{"}"}
]
{"}"}
Billing
Check your credit balance and usage.
GET /v1/billing/credits
Get your current credit balance.
{
"credits": 1250,
"credits_usd": "$12.50",
"plan": "regular",
"plan_credits_remaining": 450,
"next_billing": "2026-03-01T00:00:00Z"
{"}"}
GET /v1/billing/usage
Get credit usage breakdown. Query params: period
(day, week, month), server_id.
{
"usage": {
"period": "month",
"total_credits": 580,
"total_usd": "$5.80",
"by_server": [
{ "server_id": "srv_a1b2c3", "server_name": "production-1", "credits_used": 380 {"}"}
]
{"}"}
{"}"}
Webhooks
Receive real-time notifications about events in your account.
| Event | Description |
|---|---|
server.created |
A new server was provisioned |
server.deleted |
A server was deleted |
deployment.created |
A new deployment was started |
deployment.ready |
A deployment is live and accessible |
deployment.failed |
A deployment failed |
credits.low |
Credit balance below warning threshold |
credits.depleted |
Credits reached zero |
Errors
The API uses standard HTTP status codes and returns JSON error responses.
| Code | Meaning |
|---|---|
400 |
Bad Request — Invalid parameters |
401 |
Unauthorized — Missing or invalid API key |
403 |
Forbidden — Insufficient permissions |
404 |
Not Found — Resource doesn't exist |
422 |
Unprocessable — Validation failed |
429 |
Too Many Requests — Rate limit exceeded |
500 |
Internal Error — Something went wrong |
Error Response Format
{
"error": {
"code": "validation_error",
"message": "Server name is required",
"field": "name"
{"}"}
{"}"}
Want early API access?
The API is coming soon. Contact us to request early access.
Request Early Access