Engine · REST API v1

Build on OVRIX.

A versioned REST API with JWT authentication, per-tenant rate limiting, and predictable JSON responses. Every endpoint is documented with request/response schemas and curl examples.

JWT Bearer Tokens

All API requests must include a valid JWT in the Authorization header. Tokens expire after 15 minutes. Use the refresh endpoint to obtain a new access token.

bash
# Obtain access token
curl -X POST https://api.OVRIX.io/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"admin@acme.co","password":"••••••••"}'

# Use the token
curl https://api.OVRIX.io/v1/employees \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1..." \
  -H "X-Tenant: acme"
PlanRequests / minuteBurst
Starter6010
Pro600100
EnterpriseNegotiableUnlimited
GET /employees List all employees

Returns a paginated list of employees for the authenticated tenant. Supports filtering by department, status, and hire date.

Query Parameters
NameTypeDescription
pageintegerPage number (default: 1)
limitintegerResults per page, max 100 (default: 20)
departmentstringFilter by department slug
statusenumactive | inactive | on_leave
JSON Response
{
  "data": [
    {
      "id": "01HV3...",
      "email": "jane.doe@acme.co",
      "firstName": "Jane",
      "lastName": "Doe",
      "department": "engineering",
      "status": "active",
      "hiredAt": "2024-03-01T00:00:00Z"
    }
  ],
  "meta": { "page": 1, "limit": 20, "total": 148 }
}
POST /employees Create employee
NameTypeRequiredDescription
emailstringrequiredUnique within tenant
firstNamestringrequired
lastNamestringrequired
departmentstringoptionalDepartment slug
roleIduuidoptionalRBAC role to assign
GET /analytics/kpi KPI summary
JSON Response
{
  "mrr": 184230,
  "arr": 2210760,
  "churnRate": 0.021,
  "dau": 48217,
  "mau": 142800,
  "apiLatencyP95Ms": 42,
  "asOf": "2026-05-19T00:00:00Z"
}