Skip to main content

uip platform tenants

uip platform tenants reads and updates per-tenant license allocations. licenses get returns the active product allocation for a tenant (allocated, available, consumed, validity window); licenses set overlays a JSON delta of {code, quantity} entries, routing each product code to the service license that already owns it within the tenant.

Synopsis

uip platform tenants licenses <verb> [options] <tenant-key>

Verbs

VerbPurpose
getGet the active license summary for a tenant (one row per product, dates as ISO).
setApply a delta of {code, quantity} entries to a tenant's runtime licenses and consumables, auto-routed across service-types.

uip platform tenants licenses get

Get the license summary for a tenant: allocated, available, consumed quantities per product code, with friendly names. Returns one row per active product (consumables and runtime licenses alike).

Arguments

NameRequiredPurpose
<tenant-key>yesTenant key (GUID).

Options

LongValueDefaultDescription
--organizationaccount-idsession defaultOrganization account GUID. Override the org resolved from the current login.

Example

uip platform tenants licenses get 296b7134-6691-43db-b48a-2d95ed3ab031

Data shape (--output json)

{
"Code": "TenantLicenses",
"Data": [
{
"code": "PLTU",
"name": "Platform Units",
"allocated": 300,
"availableForAllocation": 4700,
"allocatedAcrossOtherTenants": 0,
"totalUnitsInAccount": 5000,
"consumed": 50,
"startDate": "2023-11-14T22:13:20.000Z",
"endDate": "2027-09-15T18:40:00.000Z"
}
]
}

uip platform tenants licenses set

Set runtime licenses and consumables for a tenant. The CLI fetches the tenant's existing service licenses, indexes their products by code, and routes each input entry to the service license that already owns that code. Quantities in --input overlay the current allocation by code; products you do not list keep their existing quantities.

The command fails before writing if any input code:

  • is not present in any of the tenant's existing service licenses (unrouted), or
  • appears under more than one of the tenant's service licenses (ambiguous routing).

On partial failure (one service-type fails to update after another already succeeded), the error message lists the service types that were already applied so you can re-run with the same input idempotently.

Arguments

NameRequiredPurpose
<tenant-key>yesTenant key (GUID).

Options

LongValueDefaultDescription
--inputpathrequiredPath to a JSON file with the product delta, for example [{"code":"UNATT","quantity":5}]. Quantities overlay the current allocation by product code.
--organizationaccount-idsession defaultOrganization account GUID. Override the org resolved from the current login.

Example

uip platform tenants licenses set 296b7134-6691-43db-b48a-2d95ed3ab031 \
--input ./delta.json

delta.json:

[
{ "code": "PLTU", "quantity": 500 },
{ "code": "RU", "quantity": 100 }
]

Data shape (--output json)

{
"Code": "TenantLicensesSet",
"Data": [
{
"serviceType": "orchestrator",
"code": "PLTU",
"name": "Platform Units",
"quantity": 500
},
{
"serviceType": "orchestrator",
"code": "RU",
"name": "Robot Units",
"quantity": 100
}
]
}

Exit codes

See Exit codes. No verb-specific overrides.

See also