GLOSI API Documentation

© 2026 Lineaje, Inc. All rights reserved. Proprietary and Confidential

Introduction

This reference describes the GLOSI REST API and Lineaje Query Language (LQL), enabling you to query component, vulnerability, and supply chain data programmatically.

GLOSI data is accessible via a REST endpoint. Lineaje exposes LQL on this endpoint to simplify queries and support advanced analytical use cases. LQL is a flexible query language designed to search and analyze GLOSI data. It provides an intuitive syntax for filtering, aggregating, and visualizing data related to components and vulnerabilities.

Deployment Models

GLOSI supports two deployment models:

  • Local deployment — GLOSI is deployed within the customer's own infrastructure. The API endpoint is local to the customer environment.

  • Cloud API — Lineaje hosts the GLOSI endpoint. No local deployment is required.

API Endpoint

Endpoint URLs

Use the endpoint that matches your deployment model:

Deployment Model
Endpoint URL

Local deployment

http://:8000/api/v2/lql/components

Lineaje Cloud

https://data-service-v2-apigw.commercialdev.dev.veedna.com/api/v2/lql/components

Request

Method: POST

Request Headers

Header
Required
Description

accept

No

Accepted response media types. Recommended: application/json, text/plain, /

content-type

Yes

Must be application/json

company-id

Yes

Your Lineaje company identifier (for example: vdna_994mgmr65tculnfy)

product-id

No

Product identifier. Use 1 for the default product scope.

Request Body Parameters

Parameter
Type
Required
Description

lql

string

Yes

The LQL query string. See LQL Syntax for the full grammar.

limit

integer

No

Maximum number of results to return per page. Default: 10.

page_no

integer

No

Page number for paginated results. Default: 1.

is_opensource

boolean

No

When true, restricts results to open-source packages only.

include_raw_data

boolean

No

When false, the raw document array in the response is empty. Use false with chart table() to return only function results. Default: false.

Example request:

Response

Pagination Fields

Every response includes these top-level pagination fields:

Field
Description

total_hits

Total number of records matching the query.

total_docs

Number of records returned on this page.

current_page

The current page number.

total_pages

Total number of available pages.

Result Fields

Result data appears under keys named after the query components:

Key
Description

"<search_term>"

Array of raw matching documents. Empty when include_raw_data is false.

"function: "

Array of rows produced by the function (for example: chart table()). Present only when a function is included in the LQL query.

all_columns

All field names available in the result set (returned with chart table()).

default_columns

The fields requested in the chart table() call.

LQL Syntax

An LQL query consists of up to four components, evaluated left to right and separated by the pipe character (|):

search_term | function parameters | command(parameters) | clause parameters

Each query must contain:

  • Exactly one search term

  • Zero or more functions

  • Zero or more commands

  • Zero or more clauses

Search Terms

Search terms are the foundation of any LQL query. They act like a database WHERE clause, defining which records to include. When submitted without any other component, LQL returns the raw matching documents.

Search terms support exact matching, wildcards, ranges, and logical operators:

Functions

Use functions to perform calculations or transformations on your data, producing aggregate results rather than individual records. Functions are useful for data analysis and visualization:

Commands

Commands modify how search results are processed or presented. They transform the result set without changing which records are included. Apply commands using the pipe (|) symbol:

Commands are processed left to right, each operating on the output of the previous one.

Clauses

Clauses extend function capabilities by specifying how results are grouped or filtered. The most common clause is by, which groups function results:

Clauses support nested aggregations for hierarchical grouping:

Evaluation Order

LQL queries are evaluated strictly from left to right. Think of each component as building on the previous one:

1

The first search term

The first search term creates the initial result set.

2

Additional terms

Each additional term narrows the results ($AND) or expands them ($OR).

3

Functions, commands, and clauses

Functions, commands, and clauses then transform that result set in sequence.

Logical operators work at two levels:

  • Between different fields: connect complete search conditions (for example, field1=value $AND field2=value).

  • Within the same field: connect multiple values for one field (for example, field=value1 $OR value2).

Example showing operator precedence:

Querying by Data Type

Start your search term with the appropriate prefix for the data type you want to query:

Data type
Prefix and example

Packages / components

package.= example: package.name=log4j*

Vulnerabilities

vulnerability.= example: vulnerability.name=CVE-1234*

Code quality issues

code_quality.= example: code_quality.name=EOL

Security posture

security_posture.= example: security_posture.severity=*

Commits

commits.= example: commits.country_code=*

Search Examples — Raw Data

The following examples use a search term only. The response contains all document fields. Set include_raw_data to true (or omit include_raw_data) to receive full document bodies.

Search for a Package by Name

Returns all log4j packages with their full field set.

Response (abbreviated):

Search for a Specific Vulnerability

Returns all packages affected by CVE-2021-23406.

Response (abbreviated):

Search Examples — Specific Fields

Use the chart table() function to specify exactly which fields to return. When include_raw_data is false, the raw document array is empty and results appear under the "function: chart table(...)" key.

All Versions of log4j

Response:

Versions of log4j with Vulnerabilities

Response (abbreviated):

Critical Vulnerabilities in a Date Range

Returns log4j packages with critical vulnerabilities created between 1 June 2025 01:00 and 30 June 2025 14:00, sorted by package name.

Critical Vulnerabilities from a Verified Supplier (Last 120 Days)

Returns log4j packages with critical vulnerabilities, created within the last 120 days, from a verified supplier, sorted by vulnerability name.

LQL Quick Reference

Search Term Operators

Syntax
Description and Example

field=value

Exact match. example: vulnerability.severity=critical

field=value*

Starts with. example: vulnerability.name=CVE-28*

field=value

Contains. example: vulnerability.name=VE-28

field=*

Any value (field exists). example: vulnerability.severity=*

field!=value

Not equal. example: vulnerability.is_exploited!=true

field>value

Greater than. example: risk_level.score > 9

field>=value

Greater than or equal. example: project.created >= 2025-06-24

field<value

Less than. example: risk_level.score < 9

field<=value

Less than or equal. example: project.created <= 2025-06-24

field=value with spaces

Exact match including spaces. example: project.name=Apache Software Foundation

Logical Operators

Syntax
Description

field1=value1 $AND field2=value2

Both conditions must match.

field1=value1 $OR field2=value2

Either condition must match.

field=value1 $AND value2

Field equals value1 AND value2.

field=value1 $OR value2

Field equals value1 OR value2.

Functions

Syntax
Description

| stats avg(field, ...)

Average value of the field.

| stats count(field, ...)

Count occurrences of the field.

| stats max(field, ...)

Maximum value of the field.

| stats min(field, ...)

Minimum value of the field.

| stats sum(field, ...)

Sum of the field values.

| stats unique(field, ...)

Unique values of the field.

| stats unique_values(field, ...)

Unique values of the field (alias).

| stats unique_count(field, ...)

Count of distinct values.

| stats top_hits(N)

Top N hits for the search term results.

| chart table(field, ...)

Format results as a table with specified fields.

| chart table_fold(field, ...)

Format results as a folded table.

| chart histogram(field, ...)

Create a histogram of field values.

Commands

Syntax
Description and Example

| sort(field:asc)

Sort ascending. example: | sort(project.name:asc)

| sort(field:desc)

Sort descending. example: | sort(project.name:desc)

| sort(field1:asc, field2:desc)

Sort by multiple fields. example: | sort(project.name:asc, package.name:asc)

| collapse(field)

Group by field; return top document per group. example: | collapse(package.purl)

| collapse_latest(field)

Group by field; return latest document per group. example: | collapse_latest(package.purl)

| boost(field1:2.0, field2:1.5)

Boost relevance score for specific fields.

| histogram_interval(field:interval)

Set histogram interval for date fields. example: | histogram_interval(field1:day, field2:month, field3:100)

Clauses

Append a by clause to any stats or chart function to group results:

Syntax
Description

| stats count(field) by (group_field)

Count field values, grouped by group_field.

| stats avg(field) by (group_field)

Average field values, grouped by group_field.

| stats max(field) by (group_field)

Maximum field values, grouped by group_field.

| stats min(field) by (group_field)

Minimum field values, grouped by group_field.

| stats sum(field) by (group_field)

Sum field values, grouped by group_field.

| stats unique(field) by (group_field)

Unique field values, grouped by group_field.

| stats unique_count(field) by (group_field)

Count of distinct values, grouped by group_field.

| stats unique_values(field) by (group_field)

Unique values, grouped by group_field.

| chart table(field) by (group_field)

Table of field values, grouped by group_field.

| chart table_fold(field) by (group_field)

Folded table, grouped by group_field.

| chart histogram(field) by (group_field)

Histogram, grouped by group_field.

Best Practices

  • Be as specific as possible with search terms to improve query performance.

  • For complex aggregations, consider splitting into multiple focused queries.

  • When searching for exact matches, avoid wildcards.

  • For time-based queries, use ISO date format (YYYY-MM-DD) for precision.

  • Use chart table() with a limited set of fields to reduce response size and improve readability.

LQL Field Glossary

The following tables list the queryable fields for each entity type. Use these field names in LQL search terms and functions.

Package

Field
Description

package.purl

Package URL (purl).

package.name

Package name.

package.version

Package version.

package.pkg_manager

Package manager (for example: maven, npm).

package.download_loc

Package download location.

package.checksum.md5

MD5 checksum.

package.checksum.sha1

SHA-1 checksum.

package.checksum.sha256

SHA-256 checksum.

package.checksum.sha512

SHA-512 checksum.

package.description

Package description.

package.last_modified

Date the package was last modified.

package.license

Package license.

package.license.url

License URL.

package.license.version

License version.

package.license.full_name

Full license name.

package.license.short_id

License SPDX short identifier.

package.license.is_opensource

Whether the license is open source.

package.supplier

Package supplier name.

package.supplier_info.name

Supplier name.

package.supplier_info.org

Supplier organization.

package.supplier_info.home_page

Supplier home page URL.

package.supplier_info.is_verified

Whether the supplier is verified.

package.total_vulnerability_count

Total number of vulnerabilities.

package.total_fixed_vulnerability_count

Number of fixed vulnerabilities.

package.category

Package category.

package.classification

Package classification.

package.cpes

Common Platform Enumeration (CPE) entries.

package.file_name

Package file name.

package.files_analysed

Whether package files were analyzed.

package.friendly_name

Human-readable package name.

package.id

Package identifier.

package.license_category

License category.

package.license_name

License name.

package.scope

Package scope (for example: required, optional).

package.src_info

Source information.

package.vuln_fixed_info.major.count

Count of major-version fixes available.

package.vuln_fixed_info.major.version

Major version that fixes the vulnerability.

package.vuln_fixed_info.minor.count

Count of minor-version fixes available.

package.vuln_fixed_info.minor.version

Minor version that fixes the vulnerability.

package.vuln_fixed_info.patch.count

Count of patch-version fixes available.

package.vuln_fixed_info.patch.version

Patch version that fixes the vulnerability.

package.vuln_fixed_info.upgrade.count

Count of upgrade-version fixes available.

package.vuln_fixed_info.upgrade.version

Upgrade version that fixes the vulnerability.

Image

Field
Description

image.name

Image name.

image.version

Image version.

image.os

Operating system.

image.tags

Image tags.

image.manifest

Image manifest.

image.owner

Image owner.

image.size

Image size.

image.architecture

Image architecture.

image.repo_checksum

Repository checksum.

image.layer.checksum.sha256

Layer SHA-256 checksum.

image.layer.size

Layer size.

image.download_loc

Download location.

image.config

Image configuration.

image.desc

Image description.

image.docker_version

Docker version.

image.file_name

Image file name.

image.image_created

Image creation timestamp.

Vulnerability

Field
Description

vulnerability.name

Vulnerability identifier (for example: CVE-2025-1234, GHSA-xxx).

vulnerability.score

Vulnerability score.

vulnerability.severity

Severity level: Critical, High, Medium, Low, or Unknown.

vulnerability.base_score

CVSS base score.

vulnerability.name_space

Vulnerability namespace (for example: NVD, Ubuntu).

vulnerability.description

Vulnerability description.

vulnerability.vector

CVSS vector string.

vulnerability.vuln_created

Date the vulnerability was first disclosed publicly.

vulnerability.vuln_modified

Date the vulnerability record was last modified.

vulnerability.vuln_withdrawn

Date the vulnerability was withdrawn.

vulnerability.fix_state

Fix state (for example: fixed, not-fixed).

vulnerability.fix_versions

Versions that include a fix.

vulnerability.impact_score

CVSS impact score.

vulnerability.exploitability_score

CVSS exploitability score.

vulnerability.is_exploited

Whether the vulnerability is actively exploited.

vulnerability.affected_versions

Affected package versions.

vulnerability.category

Vulnerability category.

vulnerability.collector

Data collector.

vulnerability.data_source

Source URL for the vulnerability data.

vulnerability.origin

Origin of the vulnerability record.

vulnerability.package_purl

PURL of the affected package.

vulnerability.package.name

Name of the affected package.

vulnerability.package.version

Version of the affected package.

vulnerability.package.pkg_manager

Package manager of the affected package.

vulnerability.mitigated.status

Mitigation status.

vulnerability.target

Vulnerability target (PURL).

Attestation

Field
Description

attestation_level.lcal

Attestation level score (integer 0–4, corresponding to LCAL-0 through LCAL-4).

Risk Score

Field
Description

risk_level.score

Risk level score (float 0.0–10.0). Maps to IRLC, IRLH, IRLM, IRLL, or ZIRL.

risk_level.severity

Risk level severity label.

Security Posture

Field
Description

security_posture.name

Check name. Values: Branch-Protection, Pinned-Dependencies, Dangerous-Workflow, SAST, Dependency-Update-Tool, Security-Policy, Fuzzing, Token-Permissions, Packaging, Webhooks, Embedded Secrets.

security_posture.score

Check score.

security_posture.severity

Check severity.

security_posture.reason

Reason for the score.

security_posture.desc

Check description.

security_posture.entropy

Entropy measurement.

security_posture.author

Check author.

security_posture.commit

Associated commit.

security_posture.complexity

Complexity score.

security_posture.created

Check creation date.

security_posture.documentation_url

Documentation URL for the check.

security_posture.fingerprint

Fingerprint.

security_posture.language

Programming language.

security_posture.origin

Origin of the check.

security_posture.rule_id

Rule identifier.

security_posture.source_code.name

Source code repository name.

security_posture.source_code.version

Source code version.

security_posture.source_link

Source link URL.

Code Quality

Field
Description

code_quality.name

Check name. Values: Embedded Secrets, Binary-Artifacts, CII-Best-Practices, Fuzzing, Gitleaks, CI-Tests, Code-Review, Maintained.

code_quality.score

Check score.

code_quality.severity

Check severity.

code_quality.reason

Reason for the score.

code_quality.desc

Check description.

code_quality.author

Check author.

code_quality.checksum.md5

MD5 checksum.

code_quality.checksum.sha1

SHA-1 checksum.

code_quality.checksum.sha256

SHA-256 checksum.

code_quality.commit

Associated commit name.

code_quality.complexity

Complexity score.

code_quality.created

Check creation date.

code_quality.documentation_url

Documentation URL.

code_quality.entropy

Entropy measurement.

code_quality.fingerprint

Fingerprint.

code_quality.language

Programming language.

code_quality.origin

Origin of the check.

code_quality.rule_id

Rule identifier.

code_quality.source_code.name

Source code repository name.

code_quality.source_code.version

Source code version.

code_quality.source_link

Source link URL.

Source Code

Field
Description

source_code.loc

Repository URL (for example: https://github.com//).

source_code.version

Source code version.

source_code.tag

Tag or branch name.

source_code.code_quality_score

Code quality score.

source_code.contributors_count

Number of contributors.

source_code.total_commits

Total number of commits.

source_code.first_commit

Date of the first commit.

source_code.last_commit

Date of the most recent commit.

source_code.is_opensource

Whether the repository is open source.

source_code.direct_dep_count

Count of direct dependencies.

source_code.transitive_dep_count

Count of transitive dependencies.

source_code.friendly_name

Human-readable name.

source_code.id

Source code identifier.

source_code.is_suspicious_activity

Whether suspicious activity has been detected.

source_code.languages

Programming languages used.

source_code.latest_version

Latest available version.

source_code.latest_version_date

Date of the latest version.

source_code.name

Repository name.

source_code.score

Overall score.

source_code.security_posture_score

Security posture score.

source_code.src_code_created

Repository creation date.

source_code.url

Repository URL.

Provenance

Field
Description

provenance.country.code

Country code for the contributor.

provenance.timezone

Contributor timezone.

provenance.contributor_commit_count

Number of commits by this contributor.

provenance.contributor_link

Link to the contributor profile.

provenance.contributor.commits

Contributor commits.

provenance.contributor.email

Contributor email.

provenance.contributor.is_suspicious

Whether the contributor is flagged as suspicious.

provenance.contributor.name

Contributor name.

provenance.count

Total contributor count.

provenance.country_code

Country code (alias).

Contributor / Commits

Field
Description

contributor.name

Contributor name.

contributor.email

Contributor email.

contributor.id

Contributor identifier.

contributor.commits

Number of commits.

contributor.is_suspicious

Whether the contributor is flagged as suspicious.

contributor.link

Contributor profile link.

commits.commit

Commit name.

commits.contributor_commit_count

Number of commits by the contributor.

commits.contributor_email

Contributor email.

commits.contributor_link

Contributor profile link.

commits.contributor.country.code

Contributor country code.

commits.contributor.is_suspicious

Whether the contributor is flagged as suspicious.

commits.contributor.name

Contributor name.

commits.count

Total commit count.

commits.country_code

Country code associated with the commits.

commits.timezone

Timezone associated with the commits.

License

Field
Description

license.url

License URL.

license.category

License category.

license.fullname

Full license name.

license.is_deprecated

Whether the license identifier is deprecated.

license.is_opensource

Whether the license is an open-source license.

license.is_osi_approved

Whether the license is OSI-approved.

license.license_id

License identifier.

license.name

License name.

license.full_name

Full license name (alias).

license.short_id

SPDX short license identifier.

license.version

License version.

license.details_url

License details URL.

license.references

License reference links.

Supplier

Field
Description

supplier.name

Supplier name.

supplier.is_verified

Whether the supplier is verified.

supplier.organisation

Supplier organization.

supplier.verified

Verification status (alias for is_verified).

supplier_info.name

Supplier info name.

Last updated