Hourivo Developer Portal v1.0.0

Build integrations, automate workflows, and extend Hourivo with our RESTful API. Everything you need to get started is below.

Hourivo API docs

Swagger UI — Interactive Hourivo API documentation.

Hourivo OpenAPI spec

JSON · YAML — Machine-readable OpenAPI 3.0 for codegen and function calling.

Hourivo auth docs

/docs/auth — JWT + x-organization-id authentication guide.

Hourivo MCP server

/.well-known/mcp — Live JSON-RPC handshake over Streamable HTTP (/mcp).

Hourivo agent instructions

llms.txt — When-to-use guidance for AI agents and LLM integrations.

Quick Start

Get up and running in under 5 minutes:

Step 1: Create an Account

# Register a new account
curl -X POST https://hourivo.com/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "dev@youragency.com",
    "fullName": "Your Name",
    "organizationName": "Your Agency",
    "password": "secure-password-123",
    "otp": "123456",
    "acceptedTerms": true
  }'

Step 2: Login and Get Token

# Login and extract JWT token
curl -X POST https://hourivo.com/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "dev@youragency.com", "password": "secure-password-123"}'

# Response: { "data": { "token": "eyJhbG...", "user": {...}, "organization": {...} } }
export TOKEN="eyJhbG..."
export ORG_ID="your-org-uuid"

Step 3: Make Your First API Call

# Check API health (no auth required)
curl https://hourivo.com/api/v1/health

# List your projects (auth required)
curl https://hourivo.com/api/v1/projects \
  -H "Authorization: Bearer $TOKEN" \
  -H "x-organization-id: $ORG_ID"

Authentication

All protected endpoints require two headers:

Tokens expire after 7 days. Implement token refresh in your integration.

Terms & Privacy acceptance

New registrations and invite joins require acceptedTerms: true. Login and GET /auth/me return needsLegalAcceptance. If true, POST the current version from GET /api/v1/auth/legal to POST /api/v1/auth/accept-terms. Public documents: Terms of Service and Privacy Policy (version 2026.8).

API Base URL

Available Endpoints

Category Endpoints Auth
Health /health, /info Public
Auth /auth/legal, /auth/register, /auth/login, /auth/me, /auth/send-otp, /auth/verify-otp, /auth/accept-invite, /auth/accept-terms Mixed
Projects /projects, /projects/{id}, /projects/{id}/share, /projects/portal/{token} Protected
Time Tracking /time/entries, /time/manual, /time/live-team, /time/approve, /time/idle-resolve Protected
Screenshots /screenshots, /screenshots/{id}, /screenshots/{id}/blur Protected
Financials /financials/summary, /financials/invoices Protected
AI /ai/overview, /ai/work-day, /ai/weekly-report, /ai/chat Protected
Notifications /notifications, /notifications/{id}/read Protected
RBAC /rbac Protected

Error Handling

All API errors return structured JSON:

{
  "success": false,
  "code": "NOT_FOUND",
  "error": "Project not found",
  "message": "Project not found",
  "hint": "Verify the project UUID and x-organization-id header. See GET /api/v1/info and /openapi.json."
}

Rate Limits

The API allows 120 requests per minute per IP address. Exceeding this limit returns HTTP 429 with a Retry-After header.

SDKs & Integrations

Sandbox Environment

Every new account starts with a 14-day free trial with full API access. Use the production API base URL — no separate sandbox needed. The trial includes:

Need Help?

Contact our developer support team: