opschain admin licence register
Included from Basic tier
Registers the server for the Basic tier with the LimePoint Licence Service, lifting it from the unregistered evaluation footprint (1 project, 1 environment, 1 asset, 1 runner, 1 runner group, no agents, no GitHub integration, no Academy) to the Basic limits (1 project, 3 environments, 1 asset, 3 runners, 1 runner group, the GitHub integration with its Basic caps, the Academy's Foundations track). Registration is free; its condition is the disclosed collection of installation intelligence the command prints before asking you to accept it. Nothing has to be copied by hand: the verb walks the whole lane and leaves the server verifying its own licence.
The steps, in order:
- Read the schema.
GET /v1/registeron the licence service answers whether the lane is open, the notice version, the purposes of collection, and every observed, declared and platform field with its constraint. A service that answers the lane disabled is refused by name — contact LimePoint for an evaluation licence and apply it withopschain admin licence apply. - Declare. The declared fields the schema carries today — organisation,
country (two-letter ISO 3166-1 code) and use case (
evaluation,development,production,educationorother) — come from the named flags;--declare name=valuecovers a field a newer schema adds. A required field without a value is prompted for on a terminal and refused by name on piped input; a value outside a field's closed set or over its length is refused before anything is sent. - Accept. The disclosed collection must be accepted under the notice
version the service serves: pass
--accept-notice, or answer the[y/N]prompt on a terminal. Piped input never accepts implicitly. - Register.
POST /v1/registersends your company email address (public mailbox providers are refused by the service), the product, the declared fields and the acceptance. The service emails a verification token. - Verify. The token is read from
--tokenor prompted for (Token:), andPOST /v1/register/verifycompletes the registration: the service mints the Basic-tier, online-enforcement document and the installation's phone-home credential, both shown exactly once. - Check before applying. The minted document is verified against the
keyring this build embeds — exactly as
opschain admin licence applydoes on the server — and a document that does not verify is refused with nothing applied. - Apply and store. The document is uploaded to the target server
(
PUT /api/licence) and the credential is stored in the server's secret vault underlicence/<installation_id>/credential(LicenceService.StoreLicenceCredential), so the server's own verification rounds find it withoutOPSCHAIN_LICENCE_CREDENTIAL. The post-apply licence status prints, asadmin licence showrenders it. A server that cannot store the credential (no secret vault, or an older server) gets the document applied anyway and the command prints the credential once with the environment variable to set.
With --save <file> the document is also written to a file; with
--save and no server target (--local, or no active context) the
document is saved and the credential printed once instead of applying —
the lane for registering on a connected machine and carrying the result
to a server elsewhere.
The verb authenticates to the target server as the ordinary logged-in
user and requires permission to update the /licence path (the
licence.apply step-up, where one is configured); the licence service
side is anonymous. -o json|yaml prints the registration result as a
machine document (licence_id, installation_id, licensee,
expires, service_url, notice_version, applied, licence_status,
and either credential_ref or — when it could not be stored — the
credential with its credential_error).
Flags
| Flag | Meaning |
|---|---|
--service-url <url> | The LimePoint Licence Service to register with (default https://licensing.limepoint.com). |
--email <address> | Your company email address — the verification token is sent there and the document names it as the licensee (required). |
--organisation <name> | The organisation operating this server (declared field). |
--country <code> | The country the server is operated from, as a two-letter ISO 3166-1 code (declared field). |
--use-case <value> | What the server is for: evaluation, development, production, education or other (declared field). |
--declare <name=value> | A declared field as name=value, for fields the schema adds beyond the named flags (repeatable). |
--accept-notice | Accept the disclosed collection under the notice version the service serves — the condition of the Basic tier. |
--token <token> | The verification token from the registration email (prompted for when omitted). |
--save <file> | Also write the minted licence document to this file. |
Exit codes
| Code | Meaning |
|---|---|
| 0 | Registered; the document applied (and the credential stored, or printed once), or saved. |
| 1 | The licence service refused or could not be reached, the lane is disabled, the document did not verify, or the server refused the upload. |
| 2 | Usage error — the email missing, no server target and no --save, a declared value outside the schema, or the notice not accepted. |
Named errors
self-service registration is disabled on <url> — contact LimePoint for an evaluation licence (opschain admin licence apply)— the lane is closed on that service (exit 1).registration needs the disclosed collection accepted (notice <version>) — pass --accept-notice, or stay on the evaluation footprint— exit 2.Use case (use_case) must be one of evaluation, development, production, education, other, got "…"— a declared value outside its closed set (exit 2);Country (country) is required — pass --countryfor a missing required field on piped input.declared field "<name>" is not part of the registration schema on this service—--declarenamed a field the service does not define (exit 2); the service itself refuses identifier fields such as a hostname by name.the licence service refused the request (work_email_required): a company email address is required …— the service's named refusals pass through with their reason code (exit 1).the licence service returned a document that does not verify against the keyring this build embeds (nothing applied)— exit 1.the registered licence is applied to a server — pass --server <url> or 'opschain context use <name>', or --save <file> to keep the document without applying it— exit 2.
Examples
opschain admin licence register --email ops@acme.example \
--organisation "Acme Pty Ltd" --country AU --use-case evaluation --accept-notice
Registering for the Basic tier with https://licensing.limepoint.com (privacy notice 2026-11-10-draft-2: …)
The Basic tier is free and uncapped in use; in return the installation discloses, in this limited way, where and how it is used:
purpose: licence operations: issuing, verifying, renewing and revoking the basic-tier licence for this installation
purpose: aggregate product and market analytics: …
observed: ip, country, region, product_version, first_seen, last_seen
declared: organisation, country, use_case
platform: os, arch, cpu_count, memory_class, runtime (reported on each verification)
retention: 730 days after the installation was last seen
verification email sent to ops@acme.example — enter the token it carries
Token: reg_…
registered licence reg-0a1b2c3d for installation inst-7f3a9b2c (licensee ops@acme.example, expires 2027-11-10)
applied licence reg-0a1b2c3d to https://opschain.acme.example
stored the installation credential on the server (secret-vault://licence/inst-7f3a9b2c/credential) — the server verifies the licence on its own cadence; run `opschain admin licence verify` to check now
tier: basic
state: valid
…
See also
opschain docs cli/admin-licence-show— the status line that names registration while the server runs on the evaluation footprint.opschain docs cli/admin-licence-verify— the phone-home round and where the installation credential comes from.opschain docs cli/admin-licence-apply— the offline lane: apply a document minted by LimePoint, or one saved with--save.opschain docs entitlements— the evaluation footprint, the Basic tier and what registering discloses.