Skip to main content

Analytics OData API Reference

Read-only, tenant-isolated OData v4 interface for Mesh analytics data. Browse the entity sets below and query them with standard OData options (for example from Power BI Desktop via Get Data → OData Feed).

Authentication

Method: OAuth 2.0 / OIDC (user-authenticated)

The API is read-only and strictly tenant-isolated. Requests are authenticated with organization-approved user credentials (SSO / OAuth2 / OIDC), aligned with Mesh Dashboard authentication; each dataset is scoped to a single tenant. Send the bearer token in the Authorization header.

Connecting Power BI

The feed is designed to be consumed directly by Power BI Desktop.

  1. Choose Get Data → OData Feed.

  2. Enter your feed URL:

    https://<your-mesh-host>/api/analytics/v1?tenant=<your-domain>

    If your organization has a dedicated Mesh subdomain, the tenant is resolved from the hostname and you can omit ?tenant= entirely.

  3. When prompted for credentials, choose Organizational account and sign in. Anonymous and Basic authentication are not supported.

  4. Power BI reads the service metadata and lists every entity set. Select the tables you need, then choose Transform data or Load.

Power BI Navigator listing the Analytics OData entity sets after connecting — SoftwareAssets, SoftwareDependencies, SoftwareCrypto, CryptoElements and the rest.

Power BI follows @odata.nextLink automatically, so large entity sets import without any special pagination setup. Very large imports are still bound by Power BI's own dataset-size and refresh-timeout limits.

What the main entity sets describe

Mesh maps your estate as three connected things — your software, the cryptography it uses, and the machines it runs on. Each entity set below is flat and readable on its own, so you rarely need to join tables:

  • SoftwareAssets — your software components, and the application and project each belongs to.
  • SoftwareDependencies — what each component depends on, both ends inline.
  • SoftwareCrypto — the cryptography each component uses, with any policy violations.
  • CryptoElements — every cryptographic element and its post-quantum rating.
  • MachineAssets — your machines (servers, VMs, endpoints) and their risk.
  • MachineSoftwareCorrelations — which software runs on which machine, both ends inline.

Policy violations appear right on the software and crypto rows — violating_algorithms names the non-compliant algorithms and violation_count counts them — so a single filter finds everything that is out of policy.

Worked examples

Each example is a Power Query (M) formula. After connecting with your Organizational account (see Connecting Power BI), open Home → Transform data, add a Blank query, and paste the formula into the formula bar (or Advanced Editor). Replace <your-mesh-host> with your Mesh host and <your-domain> with your tenant domain, then fill in the remaining <...> placeholders with your own values. Drop the leading tenant=<your-domain>& only if your organization has a dedicated Mesh subdomain that resolves the tenant from the hostname.

Software whose cryptography violates policy, with the offending algorithms listed inline — join-free, straight from SoftwareCrypto:

= OData.Feed("https://<your-mesh-host>/api/analytics/v1/SoftwareCrypto?tenant=<your-domain>&$filter=violation_count gt 0&$select=software_name,software_version,software_purl,crypto_name,violating_algorithms,violation_count")

Everything a single component depends on:

= OData.Feed("https://<your-mesh-host>/api/analytics/v1/SoftwareDependencies?tenant=<your-domain>&$filter=software_key eq '<component-key>'&$select=software_name,depends_on_name,depends_on_version,depends_on_purl")

One application's bill of materials, rolled up by parent component:

= OData.Feed("https://<your-mesh-host>/api/analytics/v1/SoftwareAssets?tenant=<your-domain>&$filter=project_key eq '<project-key>'&$select=parent_key,software_name,software_version,purl&$orderby=parent_key,software_name")

Every piece of software installed on a given machine, with its risk and compliance status:

= OData.Feed("https://<your-mesh-host>/api/analytics/v1/MachineSoftwareCorrelations?tenant=<your-domain>&$filter=machine_id eq '<machine-id>'&$select=machine_name,software_name,software_version,software_risk_score,software_compliance_status")

Relating the entity sets

If you build a Power BI model across several tables, these are the keys:

RelationshipJoin on
Component to its parent applicationSoftwareAssets.parent_id = SoftwareAssets.software_id
Dependency edge to componentSoftwareDependencies.software_key = SoftwareAssets.software_key
Crypto element to its componentCryptoElements.parent_id = SoftwareAssets.software_id
Crypto usage to its componentSoftwareCrypto.software_key = SoftwareAssets.software_key
Everything in one bill of materialsproject_key, on all of the above

Where parent_id is not populated, fall back to matching parent_key against software_key.

Entity sets

Entity setEntity type
AgentsAgent
AgentsHistoryAgentsHistory
CryptoElementsCryptoElement
CryptoElementsHistoryCryptoElementsHistory
MachineAssetsMachineAsset
MachineAssetsHistoryMachineAssetsHistory
MachineSoftwareCorrelationsMachineSoftwareCorrelation
MachineSoftwareCorrelationsHistoryMachineSoftwareCorrelationsHistory
RiskDetailsRiskDetail
RiskDetailsHistoryRiskDetailsHistory
SoftwareAssetsSoftwareAsset
SoftwareAssetsHistorySoftwareAssetsHistory
SoftwareCryptoSoftwareCrypto
SoftwareCryptoHistorySoftwareCryptoHistory
SoftwareDependenciesSoftwareDependency
SoftwareDependenciesHistorySoftwareDependenciesHistory

Entity types

Agent

PropertyDescriptionNullableKey
idUnique identifier.YesNo
agent_idUnique identifier of the Mesh agent.NoYes
agent_keyStable natural key for the agent.YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
display_nameHuman-readable display name.YesNo
agent_typeKind of agent.YesNo
external_idIdentifier of the record in the source system it was ingested from.YesNo
app_external_idExternal identifier of the associated application.YesNo
owner_idIdentifier of the owning user.YesNo
owner_keyNatural key of the owner.YesNo
creator_idIdentifier of the user or process that created the record.YesNo
creator_keyNatural key of the creator.YesNo
executor_idIdentifier of the executor.YesNo
executor_keyNatural key of the executor.YesNo
scoreComputed score.YesNo
score_aggregatedAggregated score across related items.YesNo
attributesAdditional attributes, as structured JSON.YesNo
metadataAdditional metadata from the source system, as structured JSON.YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

AgentsHistory

Agents as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
idUnique identifier.NoNo
agent_idUnique identifier of the Mesh agent.NoYes
agent_keyStable natural key for the agent.YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
display_nameHuman-readable display name.YesNo
agent_typeKind of agent.YesNo
external_idIdentifier of the record in the source system it was ingested from.YesNo
app_external_idExternal identifier of the associated application.YesNo
owner_idIdentifier of the owning user.YesNo
owner_keyNatural key of the owner.YesNo
creator_idIdentifier of the user or process that created the record.YesNo
creator_keyNatural key of the creator.YesNo
executor_idIdentifier of the executor.YesNo
executor_keyNatural key of the executor.YesNo
scoreComputed score.YesNo
score_aggregatedAggregated score across related items.YesNo
attributesAdditional attributes, as structured JSON.YesNo
metadataAdditional metadata from the source system, as structured JSON.YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.NoNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.NoNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes

CryptoElement

PropertyDescriptionNullableKey
crypto_element_idSystem-assigned unique identifier for the cryptographic element.NoYes
nameName of the cryptographic element (for example, a certificate or key).YesNo
external_idIdentifier of the record in the source system it was ingested from.YesNo
crypto_categoryCategory of the cryptographic element, such as Certificate or Key.YesNo
algorithmsAlgorithms detected in this element, as structured JSON.YesNo
expiration_dateDate the element expires.YesNo
machine_asset_idIdentifier of the machine this cryptographic element was found on.YesNo
machine_asset_nameName of the machine this cryptographic element was found on.YesNo
platformOperating system or platform (for example, Amazon Linux 2023).YesNo
owner_idIdentifier of the owning user.YesNo
owner_org_namesNames of the owning organizations.YesNo
location_namesLocations associated with the asset.YesNo
risk_scoreComputed risk score; higher is riskier.YesNo
stateLifecycle state code.YesNo
statusStatus of the item, such as Active.YesNo
certificate_template_nameCertificate template the item was issued from.YesNo
signature_algorithmSignature algorithm (certificates).YesNo
public_key_algorithmPublic-key algorithm (certificates).YesNo
hashing_algorithmHashing algorithm (certificates).YesNo
key_sizeKey size, in bits.YesNo
serial_numberCertificate serial number.YesNo
issuer_dnCertificate issuer distinguished name.YesNo
owner_nameName of the owner.YesNo
owner_emailEmail address of the owner.YesNo
owner_groupOwning group.YesNo
risk_profilesComma-separated risk categories that apply (for example, nonCompliance.PQC, orphan.noOwner).YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
total_risksTotal number of risk findings on this item.YesNo
expiration_timestampExact timestamp at which the element expires.YesNo
computed_atWhen Mesh last computed this row.YesNo
owner_org_idsIdentifiers of the owning organizations.YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo
violating_algorithmsThe specific algorithms on this item that violate the active crypto policy, each with its status — for example, RSA (PROHIBITED); SHA-1 (DEPRECATED). Empty when the item has no violations.YesNo
violation_countNumber of policy-violating algorithms on this item. Filter for a value above 0 to find non-compliant items.YesNo
parent_idSystem identifier of the parent application this component rolls up to.YesNo
parent_keyNatural key of the parent application. Use it to roll a component up to the application that contains it.YesNo
project_keyGroups everything in one bill of materials (project to application to components).YesNo
nist_quantum_security_levelNIST post-quantum security level (0-5). Lower is more quantum-vulnerable; filter for a value below 3 to find weak cryptography.YesNo
crypto_primitiveCryptographic primitive, such as signature, encryption, or hash.YesNo

CryptoElementsHistory

Cryptographic elements as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
crypto_element_idSystem-assigned unique identifier for the cryptographic element.NoYes
nameName of the cryptographic element (for example, a certificate or key).YesNo
external_idIdentifier of the record in the source system it was ingested from.NoNo
crypto_categoryCategory of the cryptographic element, such as Certificate or Key.YesNo
algorithmsAlgorithms detected in this element, as structured JSON.YesNo
expiration_dateDate the element expires.YesNo
machine_asset_idIdentifier of the machine this cryptographic element was found on.YesNo
machine_asset_nameName of the machine this cryptographic element was found on.YesNo
platformOperating system or platform (for example, Amazon Linux 2023).YesNo
owner_idIdentifier of the owning user.YesNo
owner_org_namesNames of the owning organizations.YesNo
location_namesLocations associated with the asset.YesNo
risk_scoreComputed risk score; higher is riskier.YesNo
stateLifecycle state code.YesNo
statusStatus of the item, such as Active.YesNo
certificate_template_nameCertificate template the item was issued from.YesNo
signature_algorithmSignature algorithm (certificates).YesNo
public_key_algorithmPublic-key algorithm (certificates).YesNo
hashing_algorithmHashing algorithm (certificates).YesNo
key_sizeKey size, in bits.YesNo
serial_numberCertificate serial number.YesNo
issuer_dnCertificate issuer distinguished name.YesNo
owner_nameName of the owner.YesNo
owner_emailEmail address of the owner.YesNo
owner_groupOwning group.YesNo
risk_profilesComma-separated risk categories that apply (for example, nonCompliance.PQC, orphan.noOwner).YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
total_risksTotal number of risk findings on this item.YesNo
expiration_timestampExact timestamp at which the element expires.YesNo
computed_atWhen Mesh last computed this row.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes
owner_org_idsIdentifiers of the owning organizations.YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).NoNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo
violating_algorithmsThe specific algorithms on this item that violate the active crypto policy, each with its status — for example, RSA (PROHIBITED); SHA-1 (DEPRECATED). Empty when the item has no violations.YesNo
violation_countNumber of policy-violating algorithms on this item. Filter for a value above 0 to find non-compliant items.YesNo
parent_idSystem identifier of the parent application this component rolls up to.YesNo
parent_keyNatural key of the parent application. Use it to roll a component up to the application that contains it.YesNo
project_keyGroups everything in one bill of materials (project to application to components).YesNo
nist_quantum_security_levelNIST post-quantum security level (0-5). Lower is more quantum-vulnerable; filter for a value below 3 to find weak cryptography.YesNo
crypto_primitiveCryptographic primitive, such as signature, encryption, or hash.YesNo

MachineAsset

PropertyDescriptionNullableKey
machine_idUnique identifier of the machine asset.NoYes
nameName of the machine (for example, its hostname).YesNo
machine_typeKind of machine, such as vm or laptop.YesNo
osOperating system and version.YesNo
manufacturerHardware manufacturer.YesNo
external_idIdentifier of the record in the source system it was ingested from.YesNo
owner_idIdentifier of the owning user.YesNo
owner_org_namesNames of the owning organizations.YesNo
location_namesLocations associated with the asset.YesNo
risk_scoreComputed risk score; higher is riskier.YesNo
stateLifecycle state code.YesNo
statusStatus of the item, such as Active.YesNo
owner_nameName of the owner.YesNo
owner_emailEmail address of the owner.YesNo
owner_groupOwning group.YesNo
risk_profilesComma-separated risk categories that apply (for example, nonCompliance.PQC, orphan.noOwner).YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
total_risksTotal number of risk findings on this item.YesNo
computed_atWhen Mesh last computed this row.YesNo
owner_org_idsIdentifiers of the owning organizations.YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
attributesAdditional attributes, as structured JSON.YesNo
metadataAdditional metadata from the source system, as structured JSON.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

MachineAssetsHistory

Machines as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
machine_idUnique identifier of the machine asset.NoYes
nameName of the machine (for example, its hostname).YesNo
machine_typeKind of machine, such as vm or laptop.YesNo
osOperating system and version.NoNo
manufacturerHardware manufacturer.YesNo
external_idIdentifier of the record in the source system it was ingested from.NoNo
owner_idIdentifier of the owning user.YesNo
owner_org_namesNames of the owning organizations.YesNo
location_namesLocations associated with the asset.YesNo
risk_scoreComputed risk score; higher is riskier.YesNo
stateLifecycle state code.YesNo
statusStatus of the item, such as Active.YesNo
owner_nameName of the owner.YesNo
owner_emailEmail address of the owner.YesNo
owner_groupOwning group.YesNo
risk_profilesComma-separated risk categories that apply (for example, nonCompliance.PQC, orphan.noOwner).YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
total_risksTotal number of risk findings on this item.YesNo
computed_atWhen Mesh last computed this row.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes
owner_org_idsIdentifiers of the owning organizations.YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).NoNo
attributesAdditional attributes, as structured JSON.YesNo
metadataAdditional metadata from the source system, as structured JSON.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

MachineSoftwareCorrelation

PropertyDescriptionNullableKey
correlation_idUnique identifier linking a machine to the software installed on it.NoYes
machine_idUnique identifier of the machine asset.YesNo
machine_nameName of the machine (for example, its hostname).YesNo
machine_typeKind of machine, such as vm or laptop.YesNo
machine_osOperating system of the machine.YesNo
software_idSystem-assigned unique identifier for the software component.YesNo
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_vendorPublisher or vendor of the component.YesNo
install_dateDate the software was installed on the machine.YesNo
install_date_sourceHow the install date was determined.YesNo
machine_risk_scoreRisk score of the machine; higher is riskier.YesNo
software_risk_scoreRisk score of the software; higher is riskier.YesNo
combined_risk_scoreCombined risk score for this machine-and-software pairing.YesNo
software_compliance_statusWhether the installed software meets policy (for example, compliant, non_compliant, or unknown).YesNo
machine_owner_idIdentifier of the machine's owner.YesNo
software_owner_idIdentifier of the software's owner.YesNo
machine_owner_org_idsIdentifiers of the machine owner's organizations.YesNo
machine_owner_org_namesNames of the machine owner's organizations.YesNo
software_owner_org_idsIdentifiers of the software owner's organizations.YesNo
software_owner_org_namesNames of the software owner's organizations.YesNo
location_namesLocations associated with the asset.YesNo
computed_atWhen Mesh last computed this row.YesNo
machine_providerSource the machine record was ingested from.YesNo
software_providerSource the software record was ingested from.YesNo
machine_attributesMachine attributes such as CPU, memory, and serial number, as structured JSON.YesNo
machine_metadataMachine metadata from the source system, as structured JSON.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

MachineSoftwareCorrelationsHistory

Machine-to-software links as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
correlation_idUnique identifier linking a machine to the software installed on it.NoYes
machine_idUnique identifier of the machine asset.YesNo
machine_nameName of the machine (for example, its hostname).YesNo
machine_typeKind of machine, such as vm or laptop.YesNo
machine_osOperating system of the machine.YesNo
machine_providerSource the machine record was ingested from.YesNo
machine_attributesMachine attributes such as CPU, memory, and serial number, as structured JSON.YesNo
machine_metadataMachine metadata from the source system, as structured JSON.YesNo
software_idSystem-assigned unique identifier for the software component.YesNo
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_vendorPublisher or vendor of the component.YesNo
software_providerSource the software record was ingested from.YesNo
install_dateDate the software was installed on the machine.YesNo
install_date_sourceHow the install date was determined.YesNo
machine_risk_scoreRisk score of the machine; higher is riskier.YesNo
software_risk_scoreRisk score of the software; higher is riskier.YesNo
combined_risk_scoreCombined risk score for this machine-and-software pairing.YesNo
software_compliance_statusWhether the installed software meets policy (for example, compliant, non_compliant, or unknown).YesNo
machine_owner_idIdentifier of the machine's owner.YesNo
machine_owner_org_idsIdentifiers of the machine owner's organizations.YesNo
machine_owner_org_namesNames of the machine owner's organizations.YesNo
software_owner_idIdentifier of the software's owner.YesNo
software_owner_org_idsIdentifiers of the software owner's organizations.YesNo
software_owner_org_namesNames of the software owner's organizations.YesNo
location_namesLocations associated with the asset.YesNo
computed_atWhen Mesh last computed this row.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes

RiskDetail

PropertyDescriptionNullableKey
risk_idUnique identifier of the risk finding.NoYes
risk_categoryCategory of the risk.YesNo
risk_profileThe risk category this finding belongs to.NoYes
risk_sourceWhere the risk was detected.YesNo
scoreComputed score.YesNo
risk_typeType of risk.YesNo
descriptionPlain-language description of the risk.YesNo
remediationRecommended remediation for the risk.YesNo
metadataAdditional metadata from the source system, as structured JSON.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).YesNo
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

RiskDetailsHistory

Risk findings as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
risk_idUnique identifier of the risk finding.NoYes
risk_categoryCategory of the risk.NoNo
risk_profileThe risk category this finding belongs to.NoYes
risk_sourceWhere the risk was detected.YesNo
scoreComputed score.YesNo
risk_typeType of risk.YesNo
descriptionPlain-language description of the risk.YesNo
remediationRecommended remediation for the risk.YesNo
metadataAdditional metadata from the source system, as structured JSON.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

SoftwareAsset

PropertyDescriptionNullableKey
software_idSystem-assigned unique identifier for the software component.NoYes
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_vendorPublisher or vendor of the component.YesNo
external_idIdentifier of the record in the source system it was ingested from.YesNo
owner_idIdentifier of the owning user.YesNo
owner_org_namesNames of the owning organizations.YesNo
location_namesLocations associated with the asset.YesNo
risk_scoreComputed risk score; higher is riskier.YesNo
installed_machinesNumber of machines the component is installed on.YesNo
platformOperating system or platform (for example, Amazon Linux 2023).YesNo
owner_nameName of the owner.YesNo
owner_emailEmail address of the owner.YesNo
owner_groupOwning group.YesNo
risk_profilesComma-separated risk categories that apply (for example, nonCompliance.PQC, orphan.noOwner).YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
total_risksTotal number of risk findings on this item.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).YesNo
computed_atWhen Mesh last computed this row.YesNo
owner_org_idsIdentifiers of the owning organizations.YesNo
providerSource the data was ingested from (for example, offline for uploaded SBOM/CBOM data). The SBOM hierarchy columns (parent_key, project_key, purl) populate only on offline rows.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo
statusStatus of the item, such as Active.YesNo
typeType classification of the component.YesNo
productProduct the component belongs to.YesNo
violating_algorithmsThe specific algorithms on this item that violate the active crypto policy, each with its status — for example, RSA (PROHIBITED); SHA-1 (DEPRECATED). Empty when the item has no violations.YesNo
violation_countNumber of policy-violating algorithms on this item. Filter for a value above 0 to find non-compliant items.YesNo
software_keyStable natural key for the component. Use it to join dependency and crypto rows back to this asset.YesNo
software_typeKind of software, such as library or application.YesNo
parent_idSystem identifier of the parent application this component rolls up to.YesNo
parent_keyNatural key of the parent application. Use it to roll a component up to the application that contains it.YesNo
project_keyGroups everything in one bill of materials (project to application to components).YesNo
purlPackage URL (purl) — the canonical package identity, for matching against external vulnerability sources.YesNo

SoftwareAssetsHistory

Software components as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
software_idSystem-assigned unique identifier for the software component.NoYes
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_vendorPublisher or vendor of the component.YesNo
external_idIdentifier of the record in the source system it was ingested from.YesNo
owner_idIdentifier of the owning user.YesNo
owner_org_namesNames of the owning organizations.YesNo
location_namesLocations associated with the asset.YesNo
risk_scoreComputed risk score; higher is riskier.YesNo
installed_machinesNumber of machines the component is installed on.YesNo
platformOperating system or platform (for example, Amazon Linux 2023).YesNo
owner_nameName of the owner.YesNo
owner_emailEmail address of the owner.YesNo
owner_groupOwning group.YesNo
risk_profilesComma-separated risk categories that apply (for example, nonCompliance.PQC, orphan.noOwner).YesNo
top_risk_descriptionPlain-language description of the highest-severity risk on this item.YesNo
top_risk_remediationRecommended remediation for the highest-severity risk.YesNo
total_risksTotal number of risk findings on this item.YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes
computed_atWhen Mesh last computed this row.YesNo
owner_org_idsIdentifiers of the owning organizations.YesNo
providerSource the data was ingested from (for example, offline for uploaded SBOM/CBOM data). The SBOM hierarchy columns (parent_key, project_key, purl) populate only on offline rows.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo
statusStatus of the item, such as Active.YesNo
typeType classification of the component.YesNo
productProduct the component belongs to.YesNo
violating_algorithmsThe specific algorithms on this item that violate the active crypto policy, each with its status — for example, RSA (PROHIBITED); SHA-1 (DEPRECATED). Empty when the item has no violations.YesNo
violation_countNumber of policy-violating algorithms on this item. Filter for a value above 0 to find non-compliant items.YesNo
software_keyStable natural key for the component. Use it to join dependency and crypto rows back to this asset.YesNo
software_typeKind of software, such as library or application.YesNo
parent_idSystem identifier of the parent application this component rolls up to.YesNo
parent_keyNatural key of the parent application. Use it to roll a component up to the application that contains it.YesNo
project_keyGroups everything in one bill of materials (project to application to components).YesNo
purlPackage URL (purl) — the canonical package identity, for matching against external vulnerability sources.YesNo

SoftwareCrypto

PropertyDescriptionNullableKey
software_crypto_idUnique identifier for this component-to-crypto link row.YesNo
software_idSystem-assigned unique identifier for the software component.YesNo
software_keyStable natural key for the component. Use it to join dependency and crypto rows back to this asset.NoYes
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_purlPackage URL (purl) of the component — the canonical package identity, for matching against external vulnerability sources.YesNo
crypto_element_idSystem-assigned unique identifier for the cryptographic element.YesNo
crypto_element_keyStable natural key for the cryptographic element.NoYes
crypto_nameName of the cryptographic element linked to the component.YesNo
crypto_categoryCategory of the cryptographic element, such as Certificate or Key.YesNo
crypto_primitiveCryptographic primitive, such as signature, encryption, or hash.YesNo
nist_quantum_security_levelNIST post-quantum security level (0-5). Lower is more quantum-vulnerable; filter for a value below 3 to find weak cryptography.YesNo
violating_algorithmsThe specific algorithms on this item that violate the active crypto policy, each with its status — for example, RSA (PROHIBITED); SHA-1 (DEPRECATED). Empty when the item has no violations.YesNo
violation_countNumber of policy-violating algorithms on this item. Filter for a value above 0 to find non-compliant items.YesNo
relationship_typeHow the component uses the cryptographic element (typically uses).NoYes
project_keyGroups everything in one bill of materials (project to application to components).YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).YesNo
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

SoftwareCryptoHistory

Component-to-cryptography links as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
software_crypto_idUnique identifier for this component-to-crypto link row.NoNo
software_idSystem-assigned unique identifier for the software component.YesNo
software_keyStable natural key for the component. Use it to join dependency and crypto rows back to this asset.NoYes
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_purlPackage URL (purl) of the component — the canonical package identity, for matching against external vulnerability sources.YesNo
crypto_element_idSystem-assigned unique identifier for the cryptographic element.YesNo
crypto_element_keyStable natural key for the cryptographic element.NoYes
crypto_nameName of the cryptographic element linked to the component.YesNo
crypto_categoryCategory of the cryptographic element, such as Certificate or Key.YesNo
crypto_primitiveCryptographic primitive, such as signature, encryption, or hash.YesNo
nist_quantum_security_levelNIST post-quantum security level (0-5). Lower is more quantum-vulnerable; filter for a value below 3 to find weak cryptography.YesNo
violating_algorithmsThe specific algorithms on this item that violate the active crypto policy, each with its status — for example, RSA (PROHIBITED); SHA-1 (DEPRECATED). Empty when the item has no violations.YesNo
violation_countNumber of policy-violating algorithms on this item. Filter for a value above 0 to find non-compliant items.YesNo
relationship_typeHow the component uses the cryptographic element (typically uses).NoYes
project_keyGroups everything in one bill of materials (project to application to components).YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

SoftwareDependency

PropertyDescriptionNullableKey
dependency_idUnique identifier for this dependency-edge row.YesNo
software_idSystem-assigned unique identifier for the software component.YesNo
software_keyStable natural key for the component. Use it to join dependency and crypto rows back to this asset.NoYes
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_purlPackage URL (purl) of the component — the canonical package identity, for matching against external vulnerability sources.YesNo
depends_on_software_idSystem identifier of the component this one depends on.YesNo
depends_on_software_keyNatural key of the component this one depends on.NoYes
depends_on_nameName of the component this one depends on.YesNo
depends_on_versionVersion of the component this one depends on.YesNo
depends_on_purlPackage URL (purl) of the component this one depends on.YesNo
relationship_typeHow the two components are related (typically depends_on).NoYes
project_keyGroups everything in one bill of materials (project to application to components).YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).YesNo
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

SoftwareDependenciesHistory

Dependency links as they were on a past date. Add a snapshot_date filter to choose the day — it is required, and without it the query returns no rows.

PropertyDescriptionNullableKey
dependency_idUnique identifier for this dependency-edge row.NoNo
software_idSystem-assigned unique identifier for the software component.YesNo
software_keyStable natural key for the component. Use it to join dependency and crypto rows back to this asset.NoYes
software_nameComponent name (for example, spring-core).YesNo
software_versionComponent version.YesNo
software_purlPackage URL (purl) of the component — the canonical package identity, for matching against external vulnerability sources.YesNo
depends_on_software_idSystem identifier of the component this one depends on.YesNo
depends_on_software_keyNatural key of the component this one depends on.NoYes
depends_on_nameName of the component this one depends on.YesNo
depends_on_versionVersion of the component this one depends on.YesNo
depends_on_purlPackage URL (purl) of the component this one depends on.YesNo
relationship_typeHow the two components are related (typically depends_on).NoYes
project_keyGroups everything in one bill of materials (project to application to components).YesNo
providerSource the data was ingested from (for example, servicenowcmdb or offline).YesNo
snapshot_dateThe date this row's data reflects (its snapshot date).NoYes
computed_atWhen Mesh last computed this row.YesNo
valid_fromStart of the period this version of the row is valid for.YesNo
valid_toEnd of the period this version is valid for; empty for the current row.YesNo
is_currentTrue for the latest version of the row.YesNo

Query options

OptionDescription
$filterFilter the collection by a boolean expression.
$selectReturn only the named properties.
$orderbySort the collection by one or more properties.
$topReturn at most N records (pagination).
$skipSkip the first N records (pagination). Deprecated — see the note below.
$skiptokenResume from the cursor returned in @odata.nextLink (keyset pagination).
$countInclude the total match count with the response.

$skip is deprecated (max 1,000,000) and will be removed in a future release. Use $skiptoken via @odata.nextLink for keyset pagination. Requests using $skip receive a Deprecation: true response header (RFC 8594).