Docs

Docs

x-cpod-domain: technology

Technology

The technology assets your org runs and who is entitled to them.

Try in explorer client.technology · client.entitlements

TechnologyAsset

A piece of technology your org runs (SaaS, internal service, system).

REST path/api/v1/technology
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.technology.technology.list()

// create:
await client.technology.technology.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
namestringShort, machine-friendly name for the asset (no spaces, kebab-case recommended). Used in API paths and internal references.
display_namestringHuman-readable display name for the asset as shown in the UI.
descriptionstringDetailed description of this asset, its purpose, and its role in the enterprise technology stack.
typestringTechnology classification of this asset.
categorystringBusiness category of the asset (e.g. 'identity', 'productivity', 'security', 'cloud', 'devtools'). Used for grouping in dashboards.
vendorstringName of the vendor or publisher of this asset.
versionstringCurrent deployed version of the asset. Null for SaaS products where version is vendor-managed.
statusstringLifecycle status of this asset. 'deprecated' assets are being phased out but still operational. 'decommissioned' assets are retired.
ownerjsonThe person and optionally a group responsible for this asset's governance, access approvals, and lifecycle decisions.
environmentstringDeployment environment. 'dr' is disaster recovery.
hostingstringWhere this asset is hosted. 'saas' indicates a fully vendor-managed product.
cloud_providerstringCloud provider when hosting is 'cloud' or 'hybrid'. Null otherwise.
regionstringCloud or datacenter region where this asset is primarily hosted.
urlstringPrimary URL for accessing this asset (e.g. the application URL, admin console, or API endpoint).
tagsjsonArray of tag strings for grouping, filtering, and policy application.
criticalitystringBusiness criticality rating. 'critical' assets affect core business operations and require the strictest access controls.
data_classificationstringHighest data classification level processed or stored by this asset. Drives data handling and encryption requirements.
owner_iduuidUser / person id of the primary owner of this asset.

AccessEntitlement

A grant of access on a TechnologyAsset to a Person or Group.

REST path/api/v1/entitlements
Operations
listgetcreateupdaterevoke
SDK
// list — returns only your records; add filters/search:
await client.technology.entitlements.list()

// create:
await client.technology.entitlements.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
asset_iduuidUUID of the TechnologyAsset to which this entitlement grants access.
principal_iduuidUUID of the Person or Group that holds this entitlement. The type is determined by principalType.
principal_typestringDiscriminator indicating whether principalId refers to a Person or a Group.
entitlement_typestringThe specific permission role or access level granted. Values are asset-specific (e.g. 'admin', 'read_only', 'contributor', 'owner', 'billing_admin'). Free-form
granted_atdate-timeISO 8601 timestamp when this entitlement was originally granted.
granted_by_iduuidUUID of the Person who approved or provisioned this entitlement. Null when auto-provisioned by a system without human approval.
expires_atdate-timeISO 8601 timestamp when this entitlement is scheduled to expire. Null for non-expiring entitlements (not recommended for privileged access).
grant_sourceenumHow the entitlement was created. Named grant_source to avoid colliding with the envelope's provenance source field.provisionedinheriteddirect
statusstringCurrent lifecycle status of this entitlement. 'pending_approval' entitlements are not yet active and must not be used for access decisions.