The Dublyo API is coming soon. The endpoints below show what's planned. Want early access? Contact us.

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
Webhook configuration will be available in your dashboard settings once the API launches.

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