Referensi API

# API publik: object storage S3, backup database, dan restore

Semua yang dapat dilakukan di dashboard dapat dilakukan lewat REST API dengan token API per pengguna. Spesifikasi OpenAPI 3.1 di bawah ini dibuat dari kode yang sama dengan server, sehingga selalu sesuai dengan versi yang berjalan.

-   [openapi.json](/api/v1/openapi.json)
-   [openapi.yaml](/api/v1/openapi.yaml)
-   [MCP server](/docs/mcp)
-   [Buat token API](/app/settings)

Terakhir diperbarui: 21 Oktober 2026

Mulai cepat

## Empat langkah dari token sampai restore

Base URL: `https://linuxteknosia.cloud/api/v1`. Respons selalu JSON; kesalahan berbentuk `{ "error": "…" }`. Perintah ke agent (backup, restore, uji koneksi) dijawab 202 dengan `command_id` yang dapat dipantau.

-   Token dibatasi ke organisasi pemiliknya dan dapat dicabut kapan saja dari dashboard.
-   Token API tidak dapat membuat atau mencabut token lain.
-   Endpoint S3 (`storage.linuxteknosia.cloud`) memakai protokol S3 standar dengan access key dari API ini.

1.  ### 1\. Buat token API
    
    Dashboard → Pengaturan → MCP server & token API → Buat token. Nilai token (lt\_…) hanya tampil sekali. Semua endpoint /app menerima header Authorization: Bearer.
    
    ```
    export LT_TOKEN="lt_..."
    curl https://linuxteknosia.cloud/api/v1/app/overview \
      -H "Authorization: Bearer $LT_TOKEN"
    ```
    
2.  ### 2\. Object storage: buat bucket dan access key
    
    Bucket diberi awalan akun secara otomatis dan dibatasi kuota hard. Access key S3 dapat dibatasi ke satu bucket dan diberi masa berlaku; secret\_key hanya dikembalikan sekali.
    
    ```
    curl -X POST https://linuxteknosia.cloud/api/v1/app/storage/buckets \
      -H "Authorization: Bearer $LT_TOKEN" -H "Content-Type: application/json" \
      -d '{"name":"aset-web","quota_gb":5}'
    
    curl -X POST https://linuxteknosia.cloud/api/v1/app/storage/keys \
      -H "Authorization: Bearer $LT_TOKEN" -H "Content-Type: application/json" \
      -d '{"name":"ci-deploy","bucket":"aset-web","expires_days":90}'
    ```
    
3.  ### 3\. Backup database: buat job dan jalankan
    
    Setelah agent terpasang (POST /app/servers/enroll) dan koneksi ditambahkan, buat job dengan jadwal cron. Menjalankan backup bersifat asinkron dan mengembalikan command\_id.
    
    ```
    curl -X POST https://linuxteknosia.cloud/api/v1/app/jobs \
      -H "Authorization: Bearer $LT_TOKEN" -H "Content-Type: application/json" \
      -d '{"server_id":"<uuid>","connection_id":"<uuid>","name":"produksi harian","schedule_cron":"0 2 * * *","timezone":"Asia/Jakarta","backup_type":"incremental","encrypt":true,"retention_days":30}'
    
    curl -X POST https://linuxteknosia.cloud/api/v1/app/jobs/<job_id>/run \
      -H "Authorization: Bearer $LT_TOKEN"
    ```
    
4.  ### 4\. Restore dan pantau perintah
    
    Pilih run dari riwayat, kirim restore ke koneksi tujuan, lalu poll /app/commands/{id} sampai status acked. Restore menimpa data di database tujuan.
    
    ```
    curl -X POST https://linuxteknosia.cloud/api/v1/app/runs/<run_id>/restore \
      -H "Authorization: Bearer $LT_TOKEN" -H "Content-Type: application/json" \
      -d '{"connection_id":"<uuid>","database":"app_staging"}'
    
    curl https://linuxteknosia.cloud/api/v1/app/commands/<command_id> \
      -H "Authorization: Bearer $LT_TOKEN"
    ```
    

Referensi lengkap

## Semua endpoint, skema, dan contoh permintaan

Pilih endpoint di panel kiri. Setiap operasi dilengkapi skema permintaan dan respons serta contoh dalam curl, JavaScript, Python, Go, dan PHP. Masukkan token API pada bagian autentikasi untuk mencoba langsung dari browser.