Skip to main content
The developer API lets an API key create, read, update and delete data in World Asset Register, within the scopes chosen when the key was created and the permissions of the member who created it. This page lists the endpoints an API key can reach, grouped by resource, plus the parts of the app that stay sign-in only. See Developer tools for how to create a key.

Authentication

Send your key on every request as a header:
A key’s access is set in two steps. First, the scopes chosen when the key was created (below) determine which permissions it could hold at most. Second, that set is narrowed to whatever the creating member’s own role actually grants - a key can never reach more than its creator could. There is no separate read-only API mode: a scope that maps to a write permission (for example assets:write) lets the key write by API exactly as a member with that permission can in the app, provided the creator’s role grants it too. See Roles and permissions for how member permissions work, and Developer tools for the scope picker.

Scopes

Each key is created with one or more scopes, chosen when the key is made. Each scope maps to one or more of the permissions used elsewhere in the app - use this table to work back from an endpoint’s Permission column to the scope that grants it: No scope grants asset_schema.manage (asset category writes) or members.invite (inviting, updating or importing members) on its own - only the admin scope does. The tables below mark every route that is reachable only with admin.

Base URL and errors

Every endpoint below is prefixed with /api. Errors share one shape:
401 means the key is missing, invalid, expired or revoked. 403 means the key’s role does not carry the permission the endpoint requires. 429 means the request was rate limited.

Assets

Create an asset
A successful create returns the full asset record, including its generated id.

Asset categories

No non-admin scope grants asset_schema.manage - creating, editing or deleting a category by API requires a key scoped admin.

Locations

Locations follow a four-tier hierarchy (site, facility, level, space). See Locations and mapping for the full model.

Departments

Members

No non-admin scope grants members.invite - every members write above requires a key scoped admin, even though members:read alone is enough to list members.

Map and geo

AI assistant

A key with the ai:use scope drives the same assistant the in-app chat uses, bound by that key’s own permissions and field access - so an ai:use-only key can converse but cannot act on anything unless the key also carries the resource scopes (assets:write, and so on) for what you want it to do. See AI assistant.

Data export (OData)

A read-only OData v4 feed for BI tools, gated by assets.export (scope odata:read - the same scope that covers the CSV/JSON export endpoints above): There is no write path on this feed. Whether the feed itself is turned on for your organisation is a separate, sign-in-only setting (see below).

Webhooks

An API key receives webhook deliveries but cannot configure them: creating, updating or deleting a webhook subscription requires a signed-in session, not an API key. Once a webhook is registered, every delivery is signed:
Compute the same HMAC-SHA256 over the raw request body using your webhook’s secret, and compare it to the header to confirm a delivery genuinely came from World Asset Register. Event types include asset.created, asset.updated and asset.deleted.

Not available by API key

These stay sign-in only, whatever permissions the key’s role carries:
  • Webhook configuration
  • The data export (OData) on/off toggle for the organisation
  • The audit log
  • Reports and report templates
  • Policies and violations
  • Roles
  • Billing
  • GDPR export and erasure