C
CIFP

Admin: Proxies

Cross-tenant proxy management and VM operations.

Admin proxy endpoints bypass tenant ownership checks and operate on any proxy across all tenants. The internalApiKey and internalApiUrl fields are always redacted in responses.

List All Proxies

GET/api/admin/proxies
ParamDescription
limitMax results (default 100, max 500)
offsetPagination offset
statusFilter: pending, running, paused, failed
includeDeletedtrue to include soft-deleted proxies
bash
# List all failed proxies
curl "https://cifp.vril.dev/api/admin/proxies?status=failed" \
  -H "Cookie: authjs.session-token=your-admin-session"
Response
{
  "proxies": [
    {
      "id":        "proxy-abc123def456",
      "name":      "alice-proxy",
      "status":    "failed",
      "mode":      "auto-auth",
      "flyRegion": "sjc",
      "proxyUrl":  "https://proxy-abc123def456.proxy.cifp.vril.dev:3128",
      "internalApiKey": "[REDACTED]",
      "tenant": {
        "name": "Alice's Org",
        "slug": "user-alice1",
        "plan": "pro"
      },
      "createdAt": "2026-06-01T10:00:00Z"
    }
  ],
  "total": 14,
  "limit": 100,
  "offset": 0
}

Get Proxy (Cross-Tenant)

GET/api/admin/proxies/:id
bash
curl https://cifp.vril.dev/api/admin/proxies/proxy-abc123def456 \
  -H "Cookie: authjs.session-token=your-admin-session"

Update Proxy

PATCH/api/admin/proxies/:id
Field / ActionDescription
action: "pause"Stop the VM (billing pauses)
action: "resume"Restart the VM
action: "force-running"Override status to running without touching the VM (for stuck states)
action: "force-failed"Override status to failed (marks for admin attention)
nameRename the proxy
bash
# Force-clear a stuck "pending" state
curl -X PATCH https://cifp.vril.dev/api/admin/proxies/proxy-id \
  -H "Cookie: authjs.session-token=your-admin-session" \
  -d '{"action": "force-running"}'

# Pause a runaway proxy
curl -X PATCH https://cifp.vril.dev/api/admin/proxies/proxy-id \
  -d '{"action": "pause"}'

Force-Delete Proxy

DELETE/api/admin/proxies/:id

Destroys the VM and soft-deletes the DB record. Bypasses tenant ownership check.

bash
curl -X DELETE https://cifp.vril.dev/api/admin/proxies/proxy-id \
  -H "Cookie: authjs.session-token=your-admin-session"

# Returns 204 No Content

Redeploy Proxy

POST/api/admin/proxies/:id/redeploy

Destroys the existing VM and provisions a new one for the same tenant and proxy record. Use for stuck failed or pending proxies that cannot be recovered by pausing and resuming.

New IP address assigned

Redeployment allocates a fresh dedicated IP. The proxy URL will change. Any clients configured with the old proxy URL will need to be updated.

bash
curl -X POST https://cifp.vril.dev/api/admin/proxies/proxy-id/redeploy \
  -H "Cookie: authjs.session-token=your-admin-session"
Response (201)
{
  "id":            "proxy-abc123def456",
  "status":        "running",
  "proxyUrl":      "https://proxy-abc123def456.proxy.cifp.vril.dev:3128",
  "internalApiKey": "[REDACTED]",
  "message":       "Proxy redeployment initiated"
}