Back to help center
    Portal features

    Customer API

    Authenticate, list services and trigger power actions from your own scripts and CI.

    5 min read

    The customer API lets you script everything you can do in the portal: list services, trigger power actions, fetch invoices, manage SSH keys.

    Getting started

    1. Create an API token

    Go to Profile settings → API Keys in the portal. Give your token a name, pick the team it belongs to, and grant only the abilities you need (least privilege).

    The token is shown once. Copy it immediately. If you lose it, revoke it and issue a new one.

    2. Make your first request

    Every request goes to https://api.vboxx.eu/v1 and needs your token in the Authorization header:

    curl https://api.vboxx.eu/v1/services \
      -H "Authorization: Bearer YOUR_TOKEN_HERE" \
      -H "Accept: application/json"
    

    All payloads are JSON. Always include both headers:

    Content-Type: application/json
    Accept: application/json
    

    Example — reboot a server

    Requires a token with the services:power-action ability.

    By IP:

    curl -X POST https://api.vboxx.eu/v1/services/power \
      -H "Authorization: Bearer YOUR_TOKEN_HERE" \
      -H "Content-Type: application/json" \
      -d '{"action": "reboot", "ip": "203.0.113.10", "reason": "CI runner stuck"}'
    

    By service ID:

    curl -X POST https://api.vboxx.eu/v1/services/power \
      -H "Authorization: Bearer YOUR_TOKEN_HERE" \
      -H "Content-Type: application/json" \
      -d '{"action": "reboot", "service_id": "srv_abc123", "reason": "kernel panic"}'
    

    action is one of on, off, reboot. The reason field is required and ends up in your audit log.

    Rate limits and audit

    • 1 power action per minute per outlet.
    • Every request is logged with token name, source IP, user agent, action, reason and outcome.
    • View the full log under Portal → Audit log.

    Available endpoints (high level)

    • GET /services, GET /services/{id}
    • POST /services/power
    • GET /invoices, GET /invoices/{id}/pdf
    • GET /tickets, POST /tickets
    • GET /me

    The full reference with try-it-out is at Portal → Developers → API reference.