API Reference
The LancerWise REST API lets you build automations, integrations, and custom workflows. Use it with n8n, Zapier, Make, or any HTTP client.
Base URL
https://www.lancerwise.com/api/v1Authentication
curl -H "Authorization: Bearer lw_your_key" \ https://www.lancerwise.com/api/v1/me
Generate API keys in Settings → API Keys. Read-only keys have GET access only; Read+Write keys can create and modify data.
⚡ Webhook Events
invoice.createdinvoice.paidinvoice.overdueclient.createdproject.createdproposal.acceptedproposal.declinedtestAuthentication
All API requests require a Bearer token. Generate one in your Settings → API Keys page.
curl -H "Authorization: Bearer lw_your_key_here" \ https://www.lancerwise.com/api/v1/me
Account
https://www.lancerwise.com/api/v1/meYour account stats, total revenue, total clients/projects, hours tracked
Analytics
https://www.lancerwise.com/api/v1/analyticsRich financial snapshot: earned/projected this month, overdue, pipeline, top clients, 12-month chart
https://www.lancerwise.com/api/v1/smart-briefAI-powered daily brief: 3 prioritized actions, headline, insight based on your current data
Invoices
https://www.lancerwise.com/api/v1/invoicesList invoices. Query: ?status=paid|sent|draft|overdue&limit=50&offset=0
https://www.lancerwise.com/api/v1/invoicesCreate invoice
Body: { client_id, line_items, due_date, currency, notes, time_entry_ids?, hourly_rate? }
https://www.lancerwise.com/api/v1/invoices/:idGet single invoice with all details
https://www.lancerwise.com/api/v1/invoices/:idUpdate invoice
Body: { status, due_date, notes }
https://www.lancerwise.com/api/v1/invoices/:id/sendEmail invoice to client
Body: { to?, subject?, message? }
https://www.lancerwise.com/api/v1/invoices/overdueOverdue invoices with days_overdue — ideal for automated reminders
https://www.lancerwise.com/api/v1/invoices/bulkBulk status update
Body: { ids[], action: mark_paid|mark_sent|mark_draft }
https://www.lancerwise.com/api/v1/invoices/:id/duplicateClone invoice as new draft
Body: { due_date?, client_id? }
Recurring Invoices
https://www.lancerwise.com/api/v1/recurring-invoicesList recurring invoice templates. Query: ?active=true
https://www.lancerwise.com/api/v1/recurring-invoicesCreate recurring invoice
Body: { client_id, title, frequency, next_issue_date, auto_send?, line_items? }
https://www.lancerwise.com/api/v1/recurring-invoices/:idGet single recurring invoice
https://www.lancerwise.com/api/v1/recurring-invoices/:idUpdate
Body: { title, frequency, next_issue_date, is_active, auto_send }
https://www.lancerwise.com/api/v1/recurring-invoices/:idDelete recurring invoice
Clients
https://www.lancerwise.com/api/v1/clientsList all clients
https://www.lancerwise.com/api/v1/clientsCreate client
Body: { name, email?, company?, phone?, status? }
https://www.lancerwise.com/api/v1/clients/:idGet single client
https://www.lancerwise.com/api/v1/clients/:idUpdate client
Body: { name, email, company, phone, status, notes }
https://www.lancerwise.com/api/v1/clients/:id/summaryFull relationship: revenue, invoices, projects, hours, last activity
Projects
https://www.lancerwise.com/api/v1/projectsList projects. Query: ?status=active
https://www.lancerwise.com/api/v1/projectsCreate project
Body: { title, client_id?, budget?, currency?, due_date?, status? }
https://www.lancerwise.com/api/v1/projects/:idGet single project
https://www.lancerwise.com/api/v1/projects/:idUpdate project
Body: { title, status, budget, currency, deadline }
https://www.lancerwise.com/api/v1/projects/:idDelete project
https://www.lancerwise.com/api/v1/projects/:id/summaryHealth snapshot: budget vs invoiced, time tracked, milestones, tasks, days_until_deadline
Time Entries
https://www.lancerwise.com/api/v1/time-entriesList time entries. Query: ?since=2026-01-01&limit=100
https://www.lancerwise.com/api/v1/time-entriesLog time
Body: { start_time, end_time, description?, project_id?, is_billed? }
https://www.lancerwise.com/api/v1/time-entries/:idGet single time entry
https://www.lancerwise.com/api/v1/time-entries/:idUpdate time entry
Body: { description, is_billed, project_id }
https://www.lancerwise.com/api/v1/time-entries/:idDelete time entry
https://www.lancerwise.com/api/v1/time-entries/summaryAggregated time by project + daily breakdown
https://www.lancerwise.com/api/v1/time-entries/startStart timer — auto-stops running timer first
Body: { description?, project_id? }
https://www.lancerwise.com/api/v1/time-entries/stopStop running timer — returns completed entry with duration_seconds
Expenses
https://www.lancerwise.com/api/v1/expensesList expenses. Query: ?since=2026-01-01&category=software
https://www.lancerwise.com/api/v1/expensesCreate expense
Body: { description, amount, currency, category, expense_date }
https://www.lancerwise.com/api/v1/expenses/:idGet single expense
https://www.lancerwise.com/api/v1/expenses/:idUpdate expense
Body: { description, amount, category, is_billable, notes }
https://www.lancerwise.com/api/v1/expenses/:idDelete expense
https://www.lancerwise.com/api/v1/expenses/bulkBulk categorize
Body: { ids[], category } or { ids[], is_billable }
https://www.lancerwise.com/api/v1/expenses/bulkBulk delete
Body: { ids[] }
Leads
https://www.lancerwise.com/api/v1/leadsList leads. Query: ?stage=contacted
https://www.lancerwise.com/api/v1/leadsCreate lead
Body: { name, email?, company?, stage?, potential_value? }
https://www.lancerwise.com/api/v1/leads/:idGet single lead
https://www.lancerwise.com/api/v1/leads/:idUpdate lead
Body: { stage, notes, next_follow_up, potential_value }
https://www.lancerwise.com/api/v1/leads/:idDelete lead
Proposals
https://www.lancerwise.com/api/v1/proposalsList proposals. Query: ?status=sent
https://www.lancerwise.com/api/v1/proposals/:idGet single proposal
https://www.lancerwise.com/api/v1/proposals/:idUpdate proposal
Body: { status, expires_at }
Retainers
https://www.lancerwise.com/api/v1/retainersList retainers. Query: ?status=active
https://www.lancerwise.com/api/v1/retainersCreate retainer
Body: { name, amount, start_date, billing_cycle?, client_id?, hours_per_month? }
https://www.lancerwise.com/api/v1/retainers/:idGet single retainer
https://www.lancerwise.com/api/v1/retainers/:idUpdate retainer
Body: { status, amount, next_billing_date }
https://www.lancerwise.com/api/v1/retainers/:idDelete retainer
Notes
https://www.lancerwise.com/api/v1/notesList notes. Query: ?search=keyword&linked_type=client&linked_id=uuid
https://www.lancerwise.com/api/v1/notesCreate note
Body: { content, title?, color?, is_pinned?, linked_type?, linked_id? }
https://www.lancerwise.com/api/v1/notes/:idGet single note
https://www.lancerwise.com/api/v1/notes/:idUpdate note
Body: { content, title, color, is_pinned, tags }
https://www.lancerwise.com/api/v1/notes/:idDelete note
Tasks
https://www.lancerwise.com/api/v1/tasksDaily tasks. Query: ?date=2026-05-07&completed=false
https://www.lancerwise.com/api/v1/tasksCreate task
Body: { title, priority?, estimated_minutes?, task_date?, project_id? }
https://www.lancerwise.com/api/v1/tasks/:idGet single task
https://www.lancerwise.com/api/v1/tasks/:idUpdate task
Body: { title, is_completed, priority, notes }
https://www.lancerwise.com/api/v1/tasks/:idDelete task
Search, Export & Utils
https://www.lancerwise.com/api/v1/pingHealth check — returns user_id + timestamp
https://www.lancerwise.com/api/v1/dashboardOne-request full snapshot: earned, overdue, tasks, active timer, milestones
https://www.lancerwise.com/api/v1/searchUniversal search. Query: ?q=keyword&types=clients,projects,invoices,leads,notes&limit=5
https://www.lancerwise.com/api/v1/exportExport as CSV or JSON. Query: ?type=invoices|expenses|time-entries|clients|projects&format=csv|json
https://www.lancerwise.com/api/v1/ai/categorizeAI expense categorization
Body: { description } or { items: [{id?, description}] } — batch up to 10
Goals
https://www.lancerwise.com/api/v1/goalsRevenue goals. Query: ?year=2026 — includes auto-calculated progress_pct
https://www.lancerwise.com/api/v1/goalsCreate goal
Body: { title, target_value, type?, period?, year?, currency? }
https://www.lancerwise.com/api/v1/goals/:idGet single goal
https://www.lancerwise.com/api/v1/goals/:idUpdate goal
Body: { title, target_value, current_value, is_achieved }
https://www.lancerwise.com/api/v1/goals/:idDelete goal
Milestones
https://www.lancerwise.com/api/v1/milestonesProject milestones. Query: ?project_id=uuid&completed=false
https://www.lancerwise.com/api/v1/milestonesCreate milestone
Body: { project_id, title, due_date?, amount? }
https://www.lancerwise.com/api/v1/milestones/:idGet single milestone
https://www.lancerwise.com/api/v1/milestones/:idUpdate milestone
Body: { title, due_date, is_completed, amount }
https://www.lancerwise.com/api/v1/milestones/:idDelete milestone
Contracts
https://www.lancerwise.com/api/v1/contractsList contracts. Query: ?status=draft|sent|signed|expired&client_id=uuid
https://www.lancerwise.com/api/v1/contractsCreate contract
Body: { title, client_id?, content?, status?, expires_at? }
https://www.lancerwise.com/api/v1/contracts/:idGet single contract (includes full content)
https://www.lancerwise.com/api/v1/contracts/:idUpdate contract — auto-sets sent_at/signed_at on status change
Body: { title, content, status, expires_at }
https://www.lancerwise.com/api/v1/contracts/:idDelete contract
Reports
https://www.lancerwise.com/api/v1/reportsBusiness report. Query: ?type=monthly|quarterly|annual&year=2026&month=5
Webhooks
Register HTTPS webhook URLs to receive real-time events. Payloads are signed with HMAC-SHA256 using your webhook secret.
https://www.lancerwise.com/api/v1/webhooksList webhooks + supported_events array
https://www.lancerwise.com/api/v1/webhooksRegister webhook
Body: { url (HTTPS), events[] }
https://www.lancerwise.com/api/v1/webhooks/:idGet single webhook
https://www.lancerwise.com/api/v1/webhooks/:idUpdate webhook
Body: { url, events, is_active }
https://www.lancerwise.com/api/v1/webhooks/:idDelete webhook
https://www.lancerwise.com/api/v1/webhooks/:id/testSend test payload — returns { ok, status, response }
LancerWise API · www.lancerwise.com