Developers

The Selling Navigator API

A clean REST API over everything in your workspace — projects, tasks, clients, time, invoices and reports. Automate with Zapier, n8n or Make, or wire it straight into your own software.

Getting started

Every workspace owner on the Business plan and up can generate API tokens from Settings → API & Integrations. Requests are JSON in, JSON out, authenticated with a bearer token; Enterprise adds outbound webhooks and a much higher call allowance.

The base URL is https://sellingnavigator.com/api. Every request and response is JSON. You need a workspace owner account on the Business plan or higher — create a token in Settings → API & Integrations.

This page covers the essentials and the most-used endpoints. The full reference lists every route, parameter and field.

Authentication

Send your token as a bearer token in the Authorization header on every request. Tokens are created (and revoked) per account and carry the full access that account has.

You can also mint a token programmatically by posting an email and password to POST /login — handy for headless integrations.

# 1 — exchange email + password for a token
curl -X POST https://sellingnavigator.com/api/login \
  -H "Accept: application/json" \
  -d "email=you@agency.com" -d "password=••••••"

# 2 — call the API with the token
curl https://sellingnavigator.com/api/master-panel/projects \
  -H "Authorization: Bearer 42|xxxxxxxxxxxx" \
  -H "workspace-id: 3" \
  -H "Accept: application/json"

Workspace scope

Most data lives inside a workspace. Pass the numeric workspace-id header to choose which one a request reads from and writes to. Omit it and the API falls back to your primary workspace.

workspace-id: 3

Rate limits

Token requests are metered per month and reset on the 1st. The current usage comes back in the X-RateLimit-* response headers; going over returns 429 Too Many Requests.

  • Business — 3,000 calls / month
  • Enterprise — 15,000 calls / month, then an optional annual backup bank of prepaid calls
X-RateLimit-Limit: 15000
X-RateLimit-Remaining: 14877
X-RateLimit-Reset: 1735689600
X-Api-Backup-Tokens: 120000

Responses & errors

Responses are JSON with a boolean error flag and a human message. List endpoints return data and total; validation problems come back as 422 with a message object keyed by field.

401 — missing / invalid token. 402 / 403 — your plan doesn’t include that feature. 429 — monthly limit reached.

{
  "error": false,
  "message": "Projects retrieved successfully.",
  "data": [
    { "id": 41, "title": "Website relaunch", "status": "In progress" }
  ],
  "total": 12
}

Projects

Projects, their milestones, media and comments.

GET/master-panel/projects/{id?}List projects, or fetch one
POST/master-panel/projectsCreate a project
PUT/master-panel/projects/{id}Update a project
DELETE/master-panel/projects/{id}Delete a project
PUT/master-panel/update-status/{id}Move a project to a status
POST/master-panel/projects/{id}/duplicateDuplicate a project
GET/master-panel/get-milestones/{id?}List milestones
POST/master-panel/create-milestoneAdd a milestone
GET/master-panel/projects/{id}/commentsProject discussion

Tasks

Tasks, subtasks, task lists and their discussion.

GET/master-panel/tasks/list-api/{id?}List tasks (filter by project)
POST/master-panel/create-tasksCreate a task
PUT/master-panel/update-tasks/{id}Update a task
POST/master-panel/task/{id}/status/{status}Move a task to a status
DELETE/master-panel/task/destroy/{id}Delete a task
GET/master-panel/task-lists/{id?}List task lists
POST/master-panel/tasks/commentsComment on a task

Clients

Client records that feed the client portal and invoicing.

GET/master-panel/clients/{id?}List clients, or fetch one
POST/master-panel/clientsCreate a client
POST/master-panel/clients/{client}Update a client
DELETE/master-panel/clients/{id}Delete a client

Invoices & expenses

Estimates, invoices, expenses, taxes, units and catalog items.

GET/master-panel/estimates-invoices/{id?}List estimates & invoices
POST/master-panel/estimates-invoices/storeCreate an estimate or invoice
PUT/master-panel/estimates-invoices/{id}Update a document
GET/master-panel/expenses/{id?}List expenses
POST/master-panel/expensesRecord an expense
GET/master-panel/itemsCatalog items
GET/master-panel/taxes/{id?}Tax rates

Statuses, priorities, tags

The building blocks projects and tasks reference.

GET/master-panel/statuses/{id?}List statuses
POST/master-panel/statusesCreate a status
GET/master-panel/priorities/{id?}List priorities
POST/master-panel/prioritiesCreate a priority
GET/master-panel/tags/{id?}List tags

Reports & dashboard

Aggregated data for dashboards and BI tools.

GET/master-panel/dashboard-statisticsHeadline workspace metrics
GET/master-panel/reports/income-vs-expense-report-dataIncome vs expense
GET/master-panel/members-on-leaveWho is on leave today
GET/master-panel/upcoming-birthdaysUpcoming team birthdays

Webhooks

Enterprise can register endpoints that Selling Navigator calls the moment something happens — no polling. Events cover project.*, task.*, client.*, lead.*, invoice.*, payment.created, milestone.* and meeting.created.

Each delivery is signed — verify the X-SN-Signature header (HMAC-SHA256 of the raw body with the endpoint secret). Failed deliveries retry with backoff.

POST https://your-endpoint
X-SN-Event: invoice.created
X-SN-Signature: 9f2c…  (HMAC-SHA256 of the body)

{
  "event": "invoice.created",
  "delivery_id": "8b1e…",
  "created_at": "2026-08-29T10:00:00+00:00",
  "data": { "id": 88, "total": 4200, "client_id": 12 }
}

Build on Selling Navigator.

Create your account, pick a plan and generate an API token in minutes.