Developer API

Proactiq REST API

Build integrations, automate workflows, and connect Proactiq to your existing tools. All endpoints return JSON and use standard HTTP status codes.

API Key auth

Generate keys in workspace settings

REST + JSON

Standard HTTP verbs, JSON responses

Webhooks

Push events to your endpoints in real-time

Authentication

All API requests must include your API key in the Authorization header. Generate API keys in Workspace → Settings → API Keys.

curl https://proactiq.com/api/crm/contacts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
200

OK

Request succeeded

400

Bad Request

Invalid parameters

401

Unauthorized

Missing or invalid API key

404

Not Found

Resource doesn't exist

429

Rate Limited

Too many requests

500

Server Error

Internal error — contact support

Rate limits

API keys are limited to 1,000 requests per minute per workspace. Rate limit status is returned in response headers:X-RateLimit-Remaining andX-RateLimit-Reset. Exceeding the limit returns HTTP 429.

Endpoints

Authentication

POST/api/auth/signupCreate a new user and workspace
POST/api/auth/signinAuthenticate and receive session token
POST/api/auth/forgot-passwordRequest password reset email
POST/api/auth/reset-passwordReset password with token

CRM

GET/api/crm/contactsList all contacts (paginated, searchable)
POST/api/crm/contactsCreate a new contact
GET/api/crm/contacts/:idGet a contact by ID
PATCH/api/crm/contacts/:idUpdate a contact
DELETE/api/crm/contacts/:idDelete a contact
GET/api/crm/dealsList all deals
POST/api/crm/dealsCreate a new deal
PATCH/api/crm/deals/:idUpdate deal stage, value, or assignee
GET/api/crm/companiesList all companies
POST/api/crm/activitiesLog a call, note, email, or meeting
GET/api/crm/reports/forecastSales forecast by stage and month
POST/api/crm/contacts/importBulk import contacts from CSV
GET/api/crm/contacts/exportExport all contacts as CSV

Finance

GET/api/finance/invoicesList invoices (filter by status, date)
POST/api/finance/invoicesCreate an invoice with line items
PATCH/api/finance/invoices/:idUpdate invoice status
POST/api/finance/invoices/:id/paymentsRecord a payment
POST/api/finance/invoices/:id/emailEmail invoice to client
GET/api/finance/reports/pnlProfit & Loss statement (date range)
GET/api/finance/reports/balance-sheetBalance sheet snapshot
GET/api/finance/reports/cash-flowCash flow statement
GET/api/finance/accountsChart of accounts
POST/api/finance/journalPost a manual journal entry
GET/api/finance/expensesList expense claims
POST/api/finance/expensesSubmit an expense

HRMS

GET/api/hr/employeesList all employees
POST/api/hr/employeesCreate an employee record
PATCH/api/hr/employees/:idUpdate employee details
GET/api/hr/leaveList leave requests
POST/api/hr/leaveSubmit a leave request
GET/api/payroll/runsList payroll runs
POST/api/payroll/runsCreate a payroll run
GET/api/hrms/attendanceAttendance records
GET/api/hr/departmentsList departments

Projects

GET/api/projectsList all projects
POST/api/projectsCreate a project
GET/api/projects/:id/tasksList tasks in a project
POST/api/projects/:id/tasksCreate a task (supports parentId for subtasks)
PATCH/api/projects/:id/tasks/:taskIdUpdate task status, assignee, dates
POST/api/projects/:id/tasks/:taskId/timelogsLog time on a task

Help Desk

GET/api/helpdesk/ticketsList support tickets
POST/api/helpdesk/ticketsCreate a ticket
PATCH/api/helpdesk/tickets/:idUpdate ticket status, assignee, priority
POST/api/helpdesk/tickets/:id/commentsAdd a reply or internal note
GET/api/support/sla-policiesList SLA policies
GET/api/support/canned-responsesList canned responses

Inventory

GET/api/inventory/productsList all products
POST/api/inventory/productsCreate a product
GET/api/inventory/products/:id/movementsStock movement history
GET/api/inventory/warehousesList warehouses

Webhooks

GET/api/settings/webhooksList outbound webhook subscriptions
POST/api/settings/webhooksCreate a webhook (URL + events)
DELETE/api/settings/webhooks/:idDelete a webhook subscription

Webhook events

Register a URL in Settings → Webhooks to receive real-time POST notifications for these events:

invoice.paidinvoice.createddeal.wondeal.lostdeal.stage_changedcontact.createdticket.createdticket.resolvedticket.closedemployee.createdleave.approvedleave.rejectedpayment.receivedcontract.signedtask.completed

// Example webhook payload

{
  "event": "invoice.paid",
  "timestamp": "2026-04-28T10:30:00.000Z",
  "tenantId": "clx...",
  "data": {
    "id": "inv_123",
    "number": "INV-001",
    "amount": 50000,
    "currency": "INR",
    "clientName": "Acme Corp",
    "paidAt": "2026-04-28T10:30:00.000Z"
  }
}

Ready to integrate?

Generate your API key from your workspace settings and start building.