Endpoint reference

Account endpoints

Manage and inspect the authenticated account via the external API. All routes require an API key and return data for the API key owner.

GET/api/v1/account

Returns basic account info, plan summary, and current API usage for the provided API key.

{
  "success": true,
  "account": {
    "id": "d3f...7c0",
    "email": "owner@example.com",
    "username": "owner",
    "planType": "Pro",
    "totpEnabled": true,
    "createdAt": "2024-01-02T03:04:05.000Z"
  },
  "plan": {
    "type": "Pro",
    "limits": {
      "monitors": 50,
      "apiMonthlyRequests": 100000
    }
  },
  "api": {
    "planLimit": 100000,
    "account": { "used": 1200, "remaining": 98800 },
    "key": { "prefix": "upt_live_...", "used": 1200 }
  }
}
PATCH/api/v1/account

Update profile fields. Supports firstName, lastName, and metadata (object). Metadata is merged with existing values.

curl -X PATCH https://xuptimemonitor.com/api/v1/account \
  -H "x-api-key: <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"Ada","lastName":"Lovelace","metadata":{"company":"Example Co"}}'
GET/api/v1/account/limits

Lists feature limits and current usage (monitors, status pages, alerts, Docker/server agents, team, email quota, custom domains).

{
  "success": true,
  "planType": "Pro",
  "limits": [
    { "key": "monitors.total", "limit": 50, "usage": 12, "unit": "monitors" },
    { "key": "alerts.channels", "limit": 10, "usage": 4, "unit": "channels" }
  ]
}
GET/api/v1/account/usage

Returns API request usage for the account and current key plus monthly email notification usage.

{
  "success": true,
  "usage": {
    "api": {
      "account": { "used": 1200, "limit": 100000, "remaining": 98800 },
      "key": { "used": 1200, "limit": 100000, "remaining": 98800 }
    },
    "email": { "usage": 35, "limit": 5000, "periodId": "2025-01" }
  }
}