Skip to content

Enterprise API integration

Enterprise feature

The REST API is available on Enterprise plans. Compare plans to find the right fit for your team.

The Enterprise API gives you full programmatic access to your FSM Navigator™ data. Build CRM integrations, automate job creation, sync customer records with external systems, or power custom dashboards — all through a standard REST interface.


What the API provides

Capability Description
Jobs Create, update, list, and manage field service jobs
Customers Read and write customer records and locations
Assets Track equipment, manage asset records
Inventory Manage parts, stock levels, and warehouse inventory
Technicians Query technician information and availability

Getting started

Step 1: Create an API key

  1. Navigate to Settings → API Keys.
  2. Click Create API Key.
  3. Name your key, select the scopes you need, and click Generate.
  4. Copy the key immediately — it is shown only once.

Full authentication guide

Step 2: Make your first request

curl -X GET "https://fsmnavigator.com/api/v1/jobs" \
  -H "X-API-Key: YOUR_API_KEY"
import requests

response = requests.get(
    "https://fsmnavigator.com/api/v1/jobs",
    headers={"X-API-Key": "YOUR_API_KEY"}
)
data = response.json()

for job in data.get("jobs", []):
    print(f"{job['job_id']}: {job['job_title']}{job['job_status']}")
const response = await fetch("https://fsmnavigator.com/api/v1/jobs", {
  headers: { "X-API-Key": "YOUR_API_KEY" }
});

const data = await response.json();
data.jobs.forEach(job => {
  console.log(`${job.job_id}: ${job.job_title}${job.job_status}`);
});

Step 3: Create a job from the API

curl -X POST "https://fsmnavigator.com/api/v1/jobs" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "job_title": "Emergency plumbing repair",
    "job_description": "Burst pipe under the kitchen sink flooding the cabinet.",
    "job_priority": "Urgent",
    "customer_location_id": 87
  }'

job_description is required (at least 30 characters)

Every job you create through the API must include a job_description of at least 30 characters. A shorter or missing description returns 400 with error: validation_failed. This matches the dashboard and mobile app, so every job stays documented for the technician. (Updating an existing job does not re-check this.)

The same pattern applies in any language — send a JSON POST with your API key header. See the Jobs API reference for the full request body specification.


Available endpoints

Resource Methods Scopes
Jobs GET, POST, PUT, PATCH jobs:read, jobs:write
Customers GET, POST, PUT customers:read, customers:write
Assets GET, POST, PUT, PATCH assets:read, assets:write, assets:transfer, assets:meter, assets:service
Inventory GET, POST, PUT, PATCH inventory:read, inventory:write, inventory:transfer
Technicians GET technicians:read

Full API reference · All endpoints


Authentication

All requests require an API key in the X-API-Key header:

X-API-Key: YOUR_API_KEY

Key format: fsm_live_ (production) or fsm_test_ (testing) followed by a unique string.

Authentication details


Rate limits

The API enforces rate limits to ensure stability. When you exceed the limit, the API returns HTTP 429 with a Retry-After header.

Rate limiting guide


Common use cases

Use case How
CRM sync Use the Customers API to push new customers from your CRM into FSM Navigator
Job automation Create jobs automatically from form submissions, helpdesk tickets, or IoT alerts
Reporting Pull job and customer data into your BI tool for custom dashboards
Asset monitoring Record meter readings from IoT sensors via the Assets API
Inventory sync Keep parts and stock levels in sync with your supply chain or ERP system via the Inventory API

Frequently asked questions

Who can create API keys?

Only users with the Owner role can create and manage API keys.

Can I use the API with Zapier or Make?

Yes. Use the API key in a custom HTTP request step in Zapier, Make, or any similar automation platform.

Is there a sandbox environment?

Yes. Create a test key (fsm_test_) to work against test data without affecting production.

What is the API base URL?

All endpoints are under https://fsmnavigator.com/api/v1/.