Skip to content

How the register
is put together.

The product is four nouns and one scheduler. Understand those and the rest of the interface explains itself — so this starts with the model rather than with a tour of the buttons.

Document type
Documentation
Document
ACT-WEB

Start here

Four steps, in this order. A pilot session gets through all four with your own data in it; on your own it is an afternoon.

  1. 1

    Pick an industry pack

    It seeds your categories, custom field definitions, renewal lead times and vocabulary. Nothing in it is locked — the pack is a starting point, not a mode the product runs in.

  2. 2

    Import the spreadsheet

    Map your columns, run a dry run that shows exactly what will be created, fix the rows the error report flags, then commit. The whole import is one batch you can undo in a single action.

  3. 3

    Attach the obligations

    A licence, permit, certification, calibration, warranty or contract, each with its own expiry, cancellation deadline and renewal lead time. This is where the alerting gets its dates.

  4. 4

    Name who is responsible

    Alerts go to a person, not to a shared inbox where they go to die. Set the owner on the asset, and the escalation path on the organisation.

Core concepts

Pulling these apart is what makes the alerts correct and the audit trail defensible. It is also why one product serves a dental lab and an aerospace machine shop without becoming two products.

Asset
A serialised physical thing with a category, a location, an owner and a lifecycle.
Obligation
Anything time-boxed attached to an asset, with up to three dates that matter.
Plan
The recurring commitment — a calibration interval, a maintenance schedule.
Evidence
What happened and the certificate that proves it, including as-found and as-left values.
Organisation
The tenant boundary. Every query is scoped by it, and that scoping is tested on every endpoint.
Event log
Append-only history written in the same transaction as the change it records.

API

A REST API over the same handlers the interface uses, authenticated with an organisation-scoped key. Lists are keyset paginated — you follow next_cursor, never an offset, so a page cannot shift under you while a colleague is editing.

MethodPathWhat it does
GET/v1/orgs/{org}/assetsList the register. Keyset paginated by cursor.
POST/v1/orgs/{org}/assetsAdd one asset to your organisation.
GET/v1/orgs/{org}/entitlementsThe obligations the expiry engine watches.
GET/v1/orgs/{org}/reports/framework-coverageWhat an auditor asks for, per framework.

Everything due in the next thirty days

curl https://api.example.com/v1/orgs/acme/entitlements   -H "Authorization: Bearer $ACT_KEY"   -G -d status=due -d within=30d -d limit=50

{
  "entitlements": [
    {
      "id": "412",
      "name": "Pressure vessel inspection",
      "asset": { "id": "31", "asset_tag": "AUT-002", "name": "Autoclave 2, Room B" },
      "expires_on": "2026-03-31",
      "days_remaining": 22,
      "status": "due"
    }
  ],
  "next_cursor": "eyJpZCI6NDEyfQ"
}

An expiry is a calendar date, not an instant. A permit expiring on 31 March expires on the 31st where the site is, and a site in another country keeps its own calendar.

The full reference — every endpoint, how keys work, and the error envelope. It is generated from the service’s own routing table, so it describes what is running rather than what was written down.

Educational content

Explainers about the problem rather than about our buttons. They are worth reading even if you end up tracking all of this somewhere else.

Help center

Task-shaped answers for the things people ask while they are already in the product.

Nothing here covering it? Email us — during the pilot programme that reaches the engineer who wrote the feature, not a ticket queue.

Writing

Longer notes on the parts that turned out to be harder than they looked. No schedule and no newsletter — we publish when something is worth writing down.

All posts

The documentation is ahead of the product, on purpose.

We write the page before we build the feature, because it is the cheapest place to find out that a design does not explain itself. If something here does not match what you see, tell us — that is a bug in one of the two.

Programme
Pilot
Places
Limited
Reply
Every enquiry

Pilot partners get their industry pack built with them, and direct access to the engineer writing it.