VPS.org API

REST API ਡੌਕੂਮੈਂਟੇਸ਼ਨ

ਸਨੈਪਸ਼ਾਟ API

ਤੇਜ਼ ਪੁਆਇੰਟ-ਇਨ-ਟਾਈਮ ਬਹਾਲੀ ਲਈ ਸਰਵਰ ਸਨੈਪਸ਼ਾਟ ਪ੍ਰਬੰਧਿਤ ਕਰੋ। ਸਨੈਪਸ਼ਾਟ ਤੁਹਾਡੇ ਸਰਵਰ ਦੀ ਪੂਰੀ ਸਥਿਤੀ ਨੂੰ ਕੈਪਚਰ ਕਰਦੇ ਹਨ।

ਅੰਤਮ ਬਿੰਦੂ 4 endpoints
ਬੇਸ ਪਾਥ /api/v1/snapshots
ਪ੍ਰਾਪਤ ਕਰੋ /api/v1/snapshots/

ਸਾਰੇ ਸਨੈਪਸ਼ਾਟ ਸੂਚੀਬੱਧ ਕਰੋ

ਆਪਣੇ ਸਰਵਰਾਂ 'ਤੇ ਸਾਰੇ ਸਨੈਪਸ਼ਾਟਾਂ ਦੀ ਸੂਚੀ ਪ੍ਰਾਪਤ ਕਰੋ।

ਪੁੱਛਗਿੱਛ ਪੈਰਾਮੀਟਰ

ਪੈਰਾਮੀਟਰ ਦੀ ਕਿਸਮ ਲੋੜੀਂਦਾ ਵੇਰਵਾ
server_id integer ਕੋਈ ਨਹੀਂ ਸਰਵਰ ਆਈਡੀ ਦੁਆਰਾ ਸਨੈਪਸ਼ਾਟ ਫਿਲਟਰ ਕਰੋ

ਉਦਾਹਰਨ ਬੇਨਤੀ

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/snapshots/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
params = {"server_id": 12345}

response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/snapshots/?server_id=12345', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const snapshots = await response.json();
console.log(snapshots);

ਉਦਾਹਰਨ ਜਵਾਬ

{
  "count": 2,
  "results": [
    {
      "id": 801,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "name": "pre-migration-snapshot",
      "status": "completed",
      "size_mb": 5120,
      "created_at": "2025-01-15T18:30:00Z",
      "description": "Before major migration"
    },
    {
      "id": 798,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "name": "weekly-snapshot-2025-01-08",
      "status": "completed",
      "size_mb": 4856,
      "created_at": "2025-01-08T12:00:00Z",
      "description": "Weekly snapshot"
    }
  ]
}

ਜਵਾਬ ਸਥਿਤੀ ਕੋਡ

200 ਸਨੈਪਸ਼ਾਟ ਸੂਚੀ ਸਫਲਤਾਪੂਰਵਕ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ
401 ਅਣਅਧਿਕਾਰਤ - ਅਵੈਧ ਜਾਂ ਗੁੰਮ ਪ੍ਰਮਾਣੀਕਰਨ ਟੋਕਨ
ਪੋਸਟ /api/v1/snapshots/

ਸਨੈਪਸ਼ਾਟ ਬਣਾਓ

ਸਰਵਰ ਦੀ ਮੌਜੂਦਾ ਹਾਲਤ ਦਾ ਇੱਕ ਸਨੈਪਸ਼ਾਟ ਬਣਾਓ । ਸਨੈਪਸ਼ਾਟ ਪੂਰੇ ਸਰਵਰ ਦੀ ਸਮਾਂ- ਬਿੰਦੂ ਕਾਪੀ ਹੈ ।

ਬਾਡੀ ਪੈਰਾਮੀਟਰ ਦੀ ਬੇਨਤੀ ਕਰੋ

ਪੈਰਾਮੀਟਰ ਦੀ ਕਿਸਮ ਲੋੜੀਂਦਾ ਵੇਰਵਾ
server_id integer ਹਾਂ ਸਨੈਪਸ਼ਾਟ ਲਈ ਸਰਵਰ ਦਾ ID
name string ਹਾਂ ਸਨੈਪਸ਼ਾਟ ਲਈ ਨਾਮ (ਵਰਣਮਾਲਾ, ਹਾਈਫਨ, ਅੰਡਰਸਕੋਰ)
description string ਕੋਈ ਨਹੀਂ ਸਨੈਪਸ਼ਾਟ ਲਈ ਵਿਕਲਪਿਕ ਵੇਰਵਾ

ਉਦਾਹਰਨ ਬੇਨਤੀ

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/snapshots/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": 12345,
    "name": "before-update-snapshot",
    "description": "Snapshot before system update"
  }'
import requests

url = "https://admin.vps.org/api/v1/snapshots/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "server_id": 12345,
    "name": "before-update-snapshot",
    "description": "Snapshot before system update"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/snapshots/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    server_id: 12345,
    name: 'before-update-snapshot',
    description: 'Snapshot before system update'
  })
});

const snapshot = await response.json();
console.log(snapshot);

ਉਦਾਹਰਨ ਜਵਾਬ

{
  "id": 802,
  "server": {
    "id": 12345,
    "name": "web-server-01"
  },
  "name": "before-update-snapshot",
  "status": "in_progress",
  "size_mb": null,
  "created_at": "2025-01-16T16:15:00Z",
  "description": "Snapshot before system update",
  "message": "Snapshot is being created. This may take 3-10 minutes depending on server size."
}

ਜਵਾਬ ਸਥਿਤੀ ਕੋਡ

201 ਸਨੈਪਸ਼ਾਟ ਬਣਾਉਣਾ ਸਫਲਤਾਪੂਰਵਕ ਸ਼ੁਰੂ ਹੋਇਆ
400 Bad Request - Invalid parameters or snapshot limit reached
401 ਅਣਅਧਿਕਾਰਤ - ਅਵੈਧ ਜਾਂ ਗੁੰਮ ਪ੍ਰਮਾਣੀਕਰਨ ਟੋਕਨ
404 Not Found - Server does not exist
ਨੋਟ: You can have a maximum of 5 snapshots per server. Creating a snapshot while the server is running may result in filesystem inconsistencies. For best results, stop the server before creating a snapshot.
ਪੋਸਟ /api/v1/snapshots/{snapshot_id}/restore/

ਸਨੈਪਸ਼ਾਟ ਤੋਂ ਰੀਸਟੋਰ ਕਰੋ

ਸਰਵਰ ਨੂੰ ਇੱਕ ਸਨੈਪਸ਼ਾਟ ਵਿੱਚ ਫੜਿਆ ਹਾਲਤ ਵਿੱਚ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ । ਇਹ ਸਰਵਰ ਉੱਤੇ ਮੌਜੂਦਾ ਸਭ ਡਾਟਾ ਉੱਤੇ ਲਿਖ ਦੇਵੇਗਾ ।

ਮਾਰਗ ਪੈਰਾਮੀਟਰ

ਪੈਰਾਮੀਟਰ ਦੀ ਕਿਸਮ ਲੋੜੀਂਦਾ ਵੇਰਵਾ
snapshot_id integer ਹਾਂ ਵਿਲੱਖਣ ਸਨੈਪਸ਼ਾਟ ਆਈਡੀ

ਉਦਾਹਰਨ ਬੇਨਤੀ

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

snapshot_id = 801
url = f"https://admin.vps.org/api/v1/snapshots/{snapshot_id}/restore/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())
const snapshotId = 801;
const response = await fetch(`https://admin.vps.org/api/v1/snapshots/${snapshotId}/restore/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const result = await response.json();
console.log(result);

ਉਦਾਹਰਨ ਜਵਾਬ

{
  "status": "success",
  "message": "Server is being restored from snapshot. This may take 5-15 minutes.",
  "snapshot": {
    "id": 801,
    "name": "pre-migration-snapshot",
    "created_at": "2025-01-15T18:30:00Z"
  },
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "restoring"
  }
}

ਜਵਾਬ ਸਥਿਤੀ ਕੋਡ

200 ਰੀਸਟੋਰ ਸਫਲਤਾਪੂਰਵਕ ਸ਼ੁਰੂ ਹੋਇਆ
400 Bad Request - Server is not in a valid state for restoration
401 ਅਣਅਧਿਕਾਰਤ - ਅਵੈਧ ਜਾਂ ਗੁੰਮ ਪ੍ਰਮਾਣੀਕਰਨ ਟੋਕਨ
404 ਨਹੀਂ ਮਿਲਿਆ - ਸਨੈਪਸ਼ਾਟ ਮੌਜੂਦ ਨਹੀਂ ਹੈ
ਚੇਤਾਵਨੀ: Restoring from a snapshot will overwrite all current data on the server. This action cannot be undone. The server will be automatically stopped before restoration begins.
ਮਿਟਾਓ /api/v1/snapshots/{snapshot_id}/

ਸਨੈਪਸ਼ਾਟ ਮਿਟਾਓ

ਇੱਕ ਸਨੈਪਸ਼ਾਟ ਨੂੰ ਸਥਾਈ ਤੌਰ 'ਤੇ ਮਿਟਾਓ। ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।

ਮਾਰਗ ਪੈਰਾਮੀਟਰ

ਪੈਰਾਮੀਟਰ ਦੀ ਕਿਸਮ ਲੋੜੀਂਦਾ ਵੇਰਵਾ
snapshot_id integer ਹਾਂ ਵਿਲੱਖਣ ਸਨੈਪਸ਼ਾਟ ਆਈਡੀ

ਉਦਾਹਰਨ ਬੇਨਤੀ

cURL
Python
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

snapshot_id = 801
url = f"https://admin.vps.org/api/v1/snapshots/{snapshot_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)

ਜਵਾਬ ਸਥਿਤੀ ਕੋਡ

204 ਸਨੈਪਸ਼ਾਟ ਸਫਲਤਾਪੂਰਵਕ ਮਿਟਾਇਆ ਗਿਆ
401 ਅਣਅਧਿਕਾਰਤ - ਅਵੈਧ ਜਾਂ ਗੁੰਮ ਪ੍ਰਮਾਣੀਕਰਨ ਟੋਕਨ
404 ਨਹੀਂ ਮਿਲਿਆ - ਸਨੈਪਸ਼ਾਟ ਮੌਜੂਦ ਨਹੀਂ ਹੈ

Snapshots vs Backups

ਬੈਕਅੱਪ ਅਤੇ ਸੈਂਪਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਸਮਝਣਾ:

ਸਨੈਪਸ਼ਾਟ API

  • ਉਦੇਸ਼: Quick point-in-time recovery
  • ਗਤੀ: Faster to create and restore (3-15 min)
  • ਵਰਤੋਂ ਦਾ ਮਾਮਲਾ: Before risky operations (updates, config changes)
  • ਸਟੋਰੇਜ: Stored on same infrastructure
  • ਲਿਮਟ: 5 snapshots per server
  • ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ: Short-term rollback capability

ਬੈਕਅੱਪ API

  • ਉਦੇਸ਼: Long-term data protection
  • ਗਤੀ: Slower to create and restore (varies)
  • ਵਰਤੋਂ ਦਾ ਮਾਮਲਾ: Regular automated data protection
  • ਸਟੋਰੇਜ: Separate backup storage
  • ਲਿਮਟ: 10 manual + automatic backups
  • ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ: Disaster recovery and compliance

ਵਧੀਆ ਪ੍ਰੈਕਟੀਸ