Cart
Net 9 regions SYD 264 ms FRA 18 ms NRT 232 ms Uptime 30d 99.997 %

02 / API Reference

REST API

Authentication

Base URL: https://api.omegadigitalhosting.com

All requests require: Authorization: Bearer YOUR_API_KEY

API keys are generated under Account → API Keys in the control panel.

Accounts

GET /v1/account

Returns the authenticated account's profile, contact details, and account status.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/account \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "id": "acc_01HX4N9PKBQ3MVZRTA7CGWXE2F",
  "email": "[email protected]",
  "firstName": "Jane",
  "lastName": "Smith",
  "company": "Acme Inc.",
  "phone": "+1-555-000-0001",
  "status": "active",
  "createdAt": "2025-03-12T08:00:00Z"
}
PUT /v1/account

Update account profile fields. All fields are optional; only provided fields are updated.

Request (curl)
curl -X PUT https://api.omegadigitalhosting.com/v1/account \
  -H "Authorization: Bearer $OMEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"firstName": "Jane", "company": "New Corp"}'
Response (JSON)
{
  "id": "acc_01HX4N9PKBQ3MVZRTA7CGWXE2F",
  "email": "[email protected]",
  "firstName": "Jane",
  "lastName": "Smith",
  "company": "New Corp",
  "updatedAt": "2026-04-01T14:23:11Z"
}
GET /v1/account/ssh-keys

List all SSH public keys associated with the account.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/account/ssh-keys \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "keys": [
    {
      "id": "key_01J2RX9ABCDEF",
      "label": "MacBook Pro",
      "fingerprint": "SHA256:abc123xyz...",
      "createdAt": "2025-11-20T10:00:00Z"
    }
  ]
}
POST /v1/account/ssh-keys

Add a new SSH public key to the account.

Request (curl)
curl -X POST https://api.omegadigitalhosting.com/v1/account/ssh-keys \
  -H "Authorization: Bearer $OMEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label": "Work laptop", "publicKey": "ssh-ed25519 AAAA..."}'
Response (JSON)
{
  "id": "key_01J3NEWKEYID",
  "label": "Work laptop",
  "fingerprint": "SHA256:newfingerprint...",
  "createdAt": "2026-04-19T09:15:00Z"
}

Services

GET /v1/services

List all active services on the account. Supports pagination via `page` and `per_page` query params.

Request (curl)
curl -X GET "https://api.omegadigitalhosting.com/v1/services?page=1&per_page=20" \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "data": [
    {
      "id": "svc_01HY7M3ABCXYZ",
      "type": "vps",
      "sku": "VH",
      "tier": "vps-m",
      "label": "prod-web-01",
      "region": "us-east",
      "ipv4": "198.51.100.42",
      "status": "running",
      "createdAt": "2025-06-01T00:00:00Z"
    }
  ],
  "meta": { "page": 1, "perPage": 20, "total": 1 }
}
GET /v1/services/:id

Get full details for a single service including specs, network info, and current status.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/services/svc_01HY7M3ABCXYZ \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "id": "svc_01HY7M3ABCXYZ",
  "type": "vps",
  "sku": "VH",
  "tier": "vps-m",
  "label": "prod-web-01",
  "region": "us-east",
  "datacenter": "Ashburn, Virginia",
  "ipv4": "198.51.100.42",
  "ipv6": "2001:db8::1",
  "status": "running",
  "specs": { "vcpu": 4, "ramGb": 8, "diskGb": 100 },
  "os": "Ubuntu 24.04 LTS",
  "createdAt": "2025-06-01T00:00:00Z"
}
POST /v1/services/:id/reboot

Gracefully reboot a running service. Returns 202 Accepted; poll /v1/services/:id for status.

Request (curl)
curl -X POST https://api.omegadigitalhosting.com/v1/services/svc_01HY7M3ABCXYZ/reboot \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "jobId": "job_01JR4REBOOT01",
  "status": "queued",
  "message": "Reboot queued. Poll /v1/jobs/job_01JR4REBOOT01 for status."
}
DELETE /v1/services/:id

Permanently destroy a service. This action is irreversible. All data will be deleted.

Request (curl)
curl -X DELETE https://api.omegadigitalhosting.com/v1/services/svc_01HY7M3ABCXYZ \
  -H "Authorization: Bearer $OMEGA_API_KEY" \
  -H "X-Confirm-Destroy: yes"
Response (JSON)
{
  "deleted": true,
  "id": "svc_01HY7M3ABCXYZ",
  "message": "Service scheduled for deletion. Data will be purged within 1 hour."
}

Billing

GET /v1/billing/invoices

List all invoices, most recent first. Each invoice includes line items and payment status.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/billing/invoices \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "data": [
    {
      "id": "inv_01JRXYZ",
      "number": "INV-2026-0042",
      "status": "paid",
      "totalCents": 1999,
      "currency": "USD",
      "issuedAt": "2026-04-01T00:00:00Z",
      "paidAt": "2026-04-01T00:04:11Z",
      "pdfUrl": "https://api.omegadigitalhosting.com/v1/billing/invoices/inv_01JRXYZ/pdf"
    }
  ]
}
GET /v1/billing/payment-methods

List saved payment methods on file.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/billing/payment-methods \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "data": [
    {
      "id": "pm_01JRCARD",
      "type": "card",
      "brand": "visa",
      "last4": "4242",
      "expMonth": 12,
      "expYear": 2028,
      "isDefault": true
    }
  ]
}

Domains

GET /v1/domains

List all domains managed under the account.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/domains \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "data": [
    {
      "id": "dom_01JRXYZ",
      "name": "example.com",
      "status": "active",
      "autoRenew": true,
      "expiresAt": "2027-04-19T00:00:00Z"
    }
  ]
}
GET /v1/domains/:name/records

List all DNS records for a domain.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/domains/example.com/records \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "records": [
    { "id": "rec_01", "type": "A",    "name": "@",   "value": "198.51.100.42",    "ttl": 300 },
    { "id": "rec_02", "type": "CNAME","name": "www", "value": "example.com",      "ttl": 300 },
    { "id": "rec_03", "type": "MX",   "name": "@",   "value": "mail.example.com", "priority": 10, "ttl": 3600 }
  ]
}
POST /v1/domains/:name/records

Create a new DNS record for a domain.

Request (curl)
curl -X POST https://api.omegadigitalhosting.com/v1/domains/example.com/records \
  -H "Authorization: Bearer $OMEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "staging", "value": "198.51.100.99", "ttl": 300}'
Response (JSON)
{
  "id": "rec_04",
  "type": "A",
  "name": "staging",
  "value": "198.51.100.99",
  "ttl": 300,
  "createdAt": "2026-04-19T11:00:00Z"
}

Support Tickets

GET /v1/tickets

List all support tickets, ordered by last activity descending.

Request (curl)
curl -X GET https://api.omegadigitalhosting.com/v1/tickets \
  -H "Authorization: Bearer $OMEGA_API_KEY"
Response (JSON)
{
  "data": [
    {
      "id": "tkt_01JRTICKET",
      "subject": "VPS not booting after kernel update",
      "status": "open",
      "priority": "high",
      "createdAt": "2026-04-18T16:00:00Z",
      "updatedAt": "2026-04-19T08:00:00Z"
    }
  ]
}
POST /v1/tickets

Open a new support ticket. Attach a serviceId to associate it with a specific service.

Request (curl)
curl -X POST https://api.omegadigitalhosting.com/v1/tickets \
  -H "Authorization: Bearer $OMEGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Need help configuring Nginx",
    "body": "I am getting a 502 after deploying...",
    "priority": "normal",
    "serviceId": "svc_01HY7M3ABCXYZ"
  }'
Response (JSON)
{
  "id": "tkt_01JRNEW",
  "subject": "Need help configuring Nginx",
  "status": "open",
  "priority": "normal",
  "createdAt": "2026-04-19T12:00:00Z"
}