simpro api

Simpro API integration, without the build.

The Simpro API reaches nearly every record in your build. This guide covers what it exposes, how authentication, rate limits and webhooks work, and what a do-it-yourself integration takes. Then how Sprigr does that work for you, so your team describes the outcome instead of writing code.

what it handles
  • Simpro REST API v1.0
  • OAuth, client credentials or API key
  • 10 requests a second per build
  • Signed webhooks
the simpro api

What the Simpro API exposes

A summary of Simpro's public developer documentation at developer.simprogroup.com. Check the linked pages for the current detail before you build against it.

  • A REST API scoped by company

    Simpro publishes one REST API, version 1.0, described with an OpenAPI 2.0 specification you can download. Every route sits under /api/v1.0/companies/{companyID}/ on your own build's address, and a single-company build uses company ID 0. Source: Simpro API overview.

  • Almost every record in the build

    People (customers, sites, contacts, employees, contractors, vendors, timesheets), projects (leads, quotes, jobs, recurring jobs, cost centres), materials (catalogues, stock, prebuilds, vendor orders), invoicing (invoices, payments, credit notes, recurring invoices), setup data, schedules, assets, work orders and job reports.

  • Five ways to authenticate

    Authorisation code, implicit, resource owner password, client credentials and API key. Access tokens last 3,600 seconds, an authorisation code must be exchanged within three minutes, and an API key is a single token that does not expire. Sources: authentication methods, tokens.

  • A rate limit of 10 requests a second

    Above 10 requests a second from one integration to a single build, Simpro answers every further request with HTTP 429 until the rate falls back under the limit. Simpro suggests bulk routes, display=all and pagination to stay under it. Source: rate limits.

  • Webhooks that carry IDs

    Webhook subscriptions are set up in Simpro or through the API. Each delivery is signed with an HMAC-SHA1 of the body in the X-Response-Signature header and carries the IDs of what changed, so you call the API back for the full record. Sources: webhooks, event list.

  • Pages of up to 250 records

    List routes return 30 records a page by default and up to 250 with pageSize, with the totals in Result-Total and Result-Pages headers. If-Modified-Since fetches only changed records. Source: Simpro API overview.

the build

What a do-it-yourself Simpro API integration involves

None of this is hard on its own. Together it is a small product your business has to keep running.

  • Getting API access

    A Simpro admin requests access for your application in the build's setup, or a vendor registers at partner level so Simpro adds its credentials to client builds after reviewing the sign-in flow, branding and multi-company support. Source: building integrations.

  • Tokens for every user

    Hourly access tokens to refresh, refresh tokens to store securely and rotate, and a plan for when one is revoked and every call for that person starts failing.

  • Multi-company builds

    Working out which companies a login can reach, letting someone choose, and putting the right company ID on every request.

  • Nested writes

    A priced job is a job, its sections, the cost centres in each section, and every labour, catalogue and one-off line in each cost centre. Building one by hand is a chain of calls, each needing the ID from the one before.

  • Staying under the limit

    Pacing bulk reads, retrying 429 responses with back-off, and batching writes, so an overnight sync does not starve the calls your office is waiting on.

  • A webhook receiver

    A public endpoint that checks each signature, fetches the record behind the ID, ignores repeats, and keeps the subscriptions registered when they drift.

with sprigr

How Sprigr handles the Simpro API for you

The same API, already wrapped, kept in sync and guarded.

  • Connected in minutes, per person

    Install the Simpro app and enter your build address. Each person connects their own Simpro login by OAuth sign-in, client credentials or an API key, and Sprigr refreshes tokens on a schedule. Simpro's permissions decide what each person's agent can see.

  • More than 300 actions, ready to call

    Jobs, quotes, invoices, schedules, customers, purchasing, people and setup are wrapped as named actions. Composite actions build a whole priced job or quote, with sections, cost centres and lines, in one call.

  • References that just resolve

    Ask for "job J00123", a customer name or a purchase order number and Sprigr finds the record. A synced index is kept current by webhooks and a 15-minute incremental sync, and live detail is read from Simpro by ID.

  • Webhooks handled for you

    Sprigr registers Simpro webhooks when a person connects, verifies every signature, and turns each delivery into one of 29 events your workflows can start from.

  • Rate limits respected

    Bulk sync is paced, and rate-limited reads are retried with back-off, so you never write throttling code yourself.

  • Guardrails on writes

    Invoices, payments, credit notes, receipts, quote-to-job conversion and destructive deletes wait for a person to approve. Deletes offer an archive first, and reversible changes can be undone for seven days.

how it starts

From API docs to a working integration

No code to write or host.

  1. 01

    Install the Simpro app

    An admin installs Simpro from the Sprigr app marketplace and enters your build address, plus OAuth client details from Simpro if you connect with OAuth or client credentials.

  2. 02

    Connect and pick a company

    Each person connects their own login and chooses their Simpro company if the build has more than one. Webhooks register on that choice.

  3. 03

    Describe what should happen

    Ask in plain English for a lookup, a report or a standing workflow. Sprigr picks the Simpro actions; you approve anything that moves money.

questions

Simpro API questions

Read the documentation

What is the Simpro API?

The Simpro API is Simpro's public REST API, version 1.0. It gives software access to the records in a Simpro build: customers, sites, jobs, quotes, cost centres, invoices, payments, schedules, employees, stock, purchasing and setup data. Routes are scoped to a company inside your build.

How do I get access to the Simpro API?

Simpro documents two paths. A Simpro admin can request access for an application in the build's setup, or a software vendor can register at partner level, where Simpro reviews the integration and adds its credentials to client builds. Simpro also supports API keys. With Sprigr you install the Simpro app and connect, so you do not write any API code.

What are the Simpro API rate limits?

Simpro's documentation sets a limit of 10 requests a second from one integration to a single build. Above that, Simpro returns HTTP 429 until the rate drops back under the limit, so an integration has to pace and batch its calls.

Does the Simpro API support webhooks?

Yes. Simpro webhooks cover jobs and job stages, quotes, leads, customers, sites, contacts, invoices, payments, schedules, purchase orders and more. Deliveries are signed with HMAC-SHA1 and carry the IDs of what changed. Sprigr registers and verifies them for you and emits 29 Simpro event types to workflows.

Which authentication method does Sprigr use with Simpro?

Each person chooses: OAuth sign-in (the default), client credentials, or an API key. Sprigr stores the credentials encrypted, refreshes OAuth tokens on a schedule, and scopes every call to the company the person picked.

Should I build my own Simpro API integration?

If you have a developer and one fixed job to do, such as copying new jobs into a data warehouse each night, a small script against the Simpro API can be the right answer. If you want many workflows that read whole jobs, act across your inbox and Xero, and stop for approval, Sprigr gives you that without code to maintain.

Can Sprigr call any Simpro API endpoint?

Sprigr wraps more than 300 Simpro actions as named, validated calls rather than passing raw requests through, which is how approvals, undo and audit work on every write. If you need a part of the Simpro API that is not covered, tell us.

simpro api

The Simpro API, already built. You just describe the work.

Connect Simpro and run your first workflow today.