Skip to content
Limited Beta Voltasis is currently in limited beta. Request an invite to get early access.

Built for developers

An API-first platform with 113+ REST endpoints. Integrate time tracking, project management, and invoicing into any application or workflow.

API overview

The Voltasis API follows REST conventions with predictable resource-oriented URLs, JSON request and response bodies, standard HTTP methods, and conventional error codes.

Protocol

REST over HTTPS

Format

JSON request & response

Authentication

JWT via AWS Cognito

Endpoints

113+ and growing

Key capabilities

Everything you need to build integrations, automate workflows, or extend the platform.

Time Entries

Create, read, update, and delete time entries. Start and stop timers. Submit, approve, and reject entries through approval workflows.

Projects & Tasks

Full CRUD for projects and tasks with budget tracking, team assignments, deadline management, and status updates.

Clients

Manage client profiles with billing addresses, default hourly rates, preferred currencies, and contact information.

Invoices

Generate invoices from tracked time, send to clients, and record payments. Support for recurring schedules and multi-currency.

Users & Organizations

Multi-tenant user management with role-based access control, team invitations, and organization-scoped data isolation.

Webhooks Beta

Subscribe to events and receive real-time notifications when time entries, invoices, or projects change.

Authentication

All API requests require a valid JWT access token issued by AWS Cognito. Include the token in the Authorization header as a Bearer token.

Example request

GET /time-entries HTTP/1.1
Host: api.voltasis.com
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Content-Type: application/json

Rate limits

API requests are rate-limited per organization to ensure fair usage and platform stability. Limits are generous for typical usage patterns. If you need higher throughput, contact us about enterprise plans.

  • Standard rate limits per organization
  • 429 status code when exceeded
  • Enterprise limits available on request

Response format

All responses are returned as JSON. Successful responses include the requested data directly. Errors return a structured object with a code and human-readable message.

Error response

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Start time is required"
  }
}

Endpoints overview

The API is organized by resource. All endpoints require a Bearer token except auth flows.

Authentication

POST /auth/forgot-password, POST /auth/refresh-token

Users

GET /users, GET /users/me, PUT /users/:id

Time Entries

POST /time-entries, GET /time-entries, POST /time-entries/timer/start, POST /time-entries/timer/stop, POST /time-entries/submit

Projects & Clients

GET/POST /projects, PUT /projects/:id, GET/POST /clients

Invoices

POST /invoices, GET /invoices, POST /invoices/:id/send

Organizations & Integrations

GET/PUT /organizations/:id, GET /integrations/xero/status, POST /integrations/xero/connect

Platform Billing

GET /platform/billing/subscription, POST /platform/billing/checkout-session

SDKs

Official SDKs for JavaScript/TypeScript and Python are planned. In the meantime, use any HTTP client with the REST API.

Get started

Full OpenAPI 3.0 spec available on request during beta. Contact us for developer access and API keys.