Introducing FUSE: the location tech conference for Physical AI — San Francisco & Toulouse — Save your spot! FUSE: location conference for Physical AI! Register

Introducing License Management System

 

At a glance: Point One’s License Management System exposes every license operation through the same GraphQL API that powers device provisioning, observability, and billing. A device record carries identity and NTRIP credentials. A license carries entitlements and the billing term. Keeping them separate means hardware can be built, tested, shipped, activated, suspended, and retired on your schedule, with licenses moving across the fleet as free agents. On August 26, the whole lifecycle runs live: terminal and UI side by side.

 

License Management System (LMS)

At ten devices, a person can click through a console. At fifty thousand devices moving through contract manufacturers, distributors, RMA depots, and end customers, clicking is the bottleneck. Activation waits on a support queue. Factory test units quietly burn service they were never meant to consume. A license bought for a machine that died in the field gets written off instead of reassigned.

The License Management System is built on the position that fleet operations are software, and software needs an API.

Identity and entitlement are two different problems

A DEVICE record is the authoritative source of truth for a piece of hardware. Creating one returns NTRIP credentials unique to that unit, which get loaded onto the device at the factory. Best practice is to store them on the device rather than in a companion app, so end-user setup never depends on a cellular connection at the worst possible moment.

				
					mutation CreateDevice {
  createDevice(device: { label: "new device", enabled: false }) {
    id
    label
    services { rtk { enabled ntrip { login password } } }
    enabled
  }
}

				
			

A LICENSE is a separate object. It defines entitlements (which correction streams, APIs, and features the device may consume), duration, auto-renewal behavior, and the commercial term. License creation is the billable event, and it happens exactly when your code says so: at installation, first power-on, or the moment a customer pays.

Use tags to keep the fleet queryable. Key/value pairs (IMEI, SN, REGION, MODEL) attach to any device, with no limit on count, so the id returned at creation is never the only handle you have on a unit.

A factory test license that expires before the pallet ships

Custom license types can be scoped to any duration, including 24 hours for warehouse factory test. A test license lets a manufacturing line confirm that a unit connects and consumes corrections, then expires on its own. No billable event, no production entitlement, no device leaving the dock with a credential that keeps working in the field.

The test license is the QA gate, and it closes itself.

Licenses move, hardware does not have to

A license can be assigned to a specific device or held unassigned as a free agent. When a unit is stolen, damaged beyond repair, or retired, disassociate the license and reattach it to another registered device for the remainder of its term.

				
					mutation Beta_v1_apply_license_to_device {
  beta_v1_apply_license_to_device(licenseId: {{licenseId}}, deviceId: {{deviceId}}) {
    id startDate endDate autoRenewal
  }
}

				
			

The term you paid for stays intact. The hardware is the thing that failed, not the entitlement.

Suspension is one flag, not a re-provisioning

Setting enabled: false on a device rejects every authentication attempt at the credential level. The license stays attached and visible in the device record. That covers the two cases OEMs actually hit: a bundled customer account on payment hold, and a stolen unit that needs to stop working today. Set the flag back to true and service resumes immediately, with no re-provisioning and no new license.

What is active, what is expiring, what you are paying for

Auto-renewal generates a new license when the current term ends and preserves the previous one as a completed, time-bounded record, so every entitlement period has its own start date, end date, and billing context. Renewal can also transition to a different type, so a 5-year term can roll into a 1-year term or a different entitlement class. The license and billing dashboard shows all of it in one place, which is usually the first question finance asks and the last one engineering wants to answer manually.

Using LMS

Provisioning, activation, suspension, reassignment, and renewal are all mutations against one endpoint. No second system, no versioning churn, no human in the loop unless you want one there.

Built to be built on.

Table of Contents

Try our RTK Network for free

Affordable, global precision without the hassle