Complete API Documentation

Everything you need to integrate PerfexCRM with your applications

181 API Endpoints
103 Webhook Events
4 Languages

Code Examples

Get started quickly with examples in your preferred language

Get All Customers

curl -X GET https://your-crm.com/api/v1/customers \
  -H "X-API-KEY: pk_your_api_key_here" \
  -H "Content-Type: application/json"

Create a Ticket

curl -X POST https://your-crm.com/api/v1/tickets \
  -H "X-API-KEY: pk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "API Test",
    "message": "Test ticket from API",
    "department": 1,
    "priority": 2
  }'

Create Invoice

curl -X POST https://your-crm.com/api/v1/invoices \
  -H "X-API-KEY: pk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "clientid": 1,
    "date": "2026-11-01",
    "duedate": "2026-11-30",
    "currency": 1
  }'

Create KB Article

curl -X POST https://your-crm.com/api/v1/knowledge-base \
  -H "X-API-KEY: pk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "How to reset your password",
    "description": "<p>Open <strong>Settings</strong> and click Reset.</p>",
    "articlegroup": 1,
    "active": 1
  }'
Want to try it out? Get your API key from the Member Portal
Latest Updates

What's New

Stay up to date with the latest features and improvements

v2.9.4 – v3.0.9

Latest: v3.0.9July 2026
  • v2.9.7 – v2.9.9 — reliability fixes: system API keys can now create tasks, subscriptions, expenses and notes (previously an empty HTTP 500), and a set of previously-silent webhooks (task, lead, project, staff and expense events) now fire correctly and exactly once
  • v2.9.6 — one-click updates now regenerate API routes automatically, fixing Knowledge Base and Webhooks-management endpoints that could be unreachable on upgraded installs (routes self-heal on every admin load)
  • Knowledge Base is now a first-class REST resource — full CRUD for articles and groups (GET/POST/PUT/DELETE /api/v1/knowledge-base and /knowledge-base/groups), filtering by group, and a dedicated knowledge_base permission scope
  • 3 new webhook events (knowledge_base_article.created/updated/deleted) — 103 events total
  • 10 new Knowledge Base MCP tools so AI agents can manage articles and groups — MCP tool count is now 181
Full changelog

v2.8.x – v2.9.3

March 11 – May 22, 2026
  • Custom fields read & write across all 13 supported entities — via ?include=custom_fields and a flat custom_fields map on create/update
  • MCP Server (Model Context Protocol) — AI agents can now discover and execute all CRM operations via a single endpoint
  • Staff-level permission filtering, system API key support, and sub-resource pagination
Full changelog

v2.7.0

March 11, 2026
  • Staff-level permission filtering — non-admin staff now only see data they have permission to access, matching PerfexCRM’s native permission system
  • Applied to 44 methods across Projects, Leads, Tasks, Invoices, and Estimates — covering LIST, GET, UPDATE, DELETE, and all sub-resource operations
  • Uses PerfexCRM core permission functions (staff_can, user_can_view_invoice, user_can_view_estimate, staff_can_access_lead)

v2.6.0 – v2.6.3

February 13 – March 10, 2026
  • Global ?fields= and ?include= query parameters for response filtering and opt-in related data
  • Critical auth & routing fixes — fixed JWT authentication responses, resolved server 503 errors
  • PerfexCRM session context fix for core model compatibility across 12+ endpoints

v2.4.0 – v2.5.9

February 10-12, 2026
  • 5 new resources (Payments, Items, Contacts, Timesheets, Notes) + 15 webhook events
  • Security audit: XSS fixes, SQL performance, compound indexes, N+1 elimination
  • 21 resources, 181 endpoints, 103 webhook events, 526 E2E tests

v2.2.1 – v2.3.0

February 2026
  • One-click auto-update with download, verify, backup, install pipeline
  • Auto-update workflow verification and bug fixes
  • Changelog display, file size extraction, version downgrade guard fixes

v2.2.0

February 9, 2026
  • Security hardening and dead code cleanup