Inspection Support Network
Integrate with ISN
APIs, webhooks, and an MCP server for orders, clients, agents, and scheduling.
Each ISN customer has a separate ISN account at its own web address. You can't guess that address from the customer's name, so ISN offers two APIs: the ISN API for working with a customer's data, and the Admin API for looking up where a customer's account is hosted.
Use footprints to discover upcoming inspections without having to repeatedly check the full order list.
Four things you need before your first call
- Service domain
- The web address of the customer's ISN site, without anything after the domain name. Most customers use
inspectionsupport.com. White-label customers use their own, such as4isn.com. - Company key
- A short, lowercase identifier for one customer, such as
yourcompany. It appears in the customer's ISN URL, and customers know theirs. - API endpoint
- The base URL for every ISN API call:
https://{service domain}/{company key}/rest. Example:https://4isn.com/yourcompany/rest. Each customer's data is reachable only at its own endpoint. - Access keys
- A pair of credentials (an access key and a secret access key) that an ISN user creates under Settings → My Access Keys. Use these instead of a username and password. The user can revoke them at any time without changing their password.
Why there are two APIs
Before you can call a customer's ISN API, you need their endpoint, and the endpoint depends on their domain. If you already have the domain and company key, build the endpoint yourself and skip the Admin API. If you only have the company key, the Admin API looks up the rest.
Use the ISN API
This is typical when you are integrating with your own ISN account, or when your user has given you both. You build the URL yourself and start calling: orders, clients, agents, scheduling, fees, and files.
ISN API reference → If you only have the company keyUse the Admin API first
This is typical when you serve many ISN customers. Customers usually know their company key but not their domain. Make one Admin API call to get the customer's endpoint, then continue with the ISN API.
Admin API reference →The Admin API uses an integration username and password. ISN issues these to you as the developer. They are different from a customer's access keys, which the customer creates. Email help@inspectionsupport.net to request a pair before you start building.
Guides
The reference lists every field of every operation. Each guide walks through one task step by step, in the order you should make the calls, and highlights only the fields you need.
How to schedule an order
Find the client, find an open time for an inspector, create the order as a draft, read it back to confirm, then schedule it. Eight API calls, two of which create or change data, plus three mistakes the API won't catch, so your code has to check for them.
Schedule an order → For when you have a specific questionQuestions and answers
Short answers with the call that does it, starting with how to set or update an order's report number.
Questions and answers →Connect an AI assistant
Not every integration requires you to code. Connect an AI assistant such as Claude or ChatGPT to ISN, and it can look up orders, check availability, and book inspections for the signed-in user. No API keys are needed.
Get notified with webhooks
Instead of repeatedly asking ISN whether anything changed (also known as polling), register a URL. ISN sends an HTTP POST with a JSON body to that URL as soon as an order is created, scheduled, paid, completed, or rescheduled.
Footprints
A footprint is a record that tells your integration an inspection is coming up for the authenticated user. Each upcoming inspection has one footprint. Read your footprints to find new work without repeatedly scanning the full order list.
Worked example: you know the company key
Build the endpoint from the service domain and company key.
https://4isn.com/yourcompany/rest
Ask for upcoming work, signing in with the user's access keys.
curl -u "$ACCESS_KEY:$SECRET_ACCESS_KEY" \ https://4isn.com/yourcompany/rest/orders/footprints
Each footprint includes the ID of the order it points to. Use that ID to fetch details.
GET /order/{id} GET /client/{id} GET /agent/{id}Delete the footprint so it doesn't appear again.
Worked example: you only have the company key
Ask the user for their company key. They will know it; they often won't know their domain.
Look up their endpoint with the Admin API, using your integration credentials.
curl -u "$INTEGRATION_USER:$INTEGRATION_PASS" \ "https://isnadmin.com/rest/isn/url?companykey=yourcompany"
Read the
urlfrom the response. Check thestatusfield in the response body, not the HTTP status code. An unknown company key still returns HTTP200, and thestatusfield shows the error.Save the URL for reuse so you don't call the Admin API every time. A customer's address rarely changes. If calls to a saved URL start failing, look it up again.
Continue as in the first example, using the URL you were given.