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:
Local deployment
GLOSI endpoint will be local to the customer
Lineaje GLOSI endpoint
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
LQL queries can contain:
Only one search term
one or more functions
one or more commands
one or more clause
Search Terms
Search Terms are the foundation of any LQL query, allowing you to filter data based on specific criteria. They work like a database WHERE clause, defining which records should be included in your results. Search terms return raw data that matches your specified conditions.
Search terms support exact matching, wildcards, ranges, and logical operators, giving you precise control over your data filtering:
package.name=log4j# Exact matchvulnerability.severity=critical# Field equals specific valueproject.created>=2025-06-21# Greater than or equal comparisonvulnerability.name=CVE-2021-*# Wildcard matchingfield1=value1 $OR field2=value2# Logical grouping
When you submit a search term without any other components, LQL returns the raw matching documents, making it easy to explore your data before applying more complex operations.
Functions
Functions perform calculations or transformations on your data, generating aggregate results rather than returning individual records. They're powerful tools for data analysis and visualization.
Functions typically operate on fields and can be combined with clauses for grouping:
| stats count(package.name)# Count total number of package names| stats unique_count(package.name)# Count distinct number of package names (uses cardinality aggregation)| stats avg(irl.irl_score)# Calculate average IRL score| chart table(field1, field2)# Format results as a table with specified columns
Functions like stats and chart transform raw data into meaningful summaries, helping you extract insights from large datasets efficiently.
Commands
Commands are actions that modify how your search results are processed or presented. They transform the result set without changing which records are included.
Commands in LQL are inspired by Splunk's SPL and are applied using the pipe (|) symbol:
| sort(field:asc)# Sort results by field in ascending order| collapse(field)# Group results by field, showing only top document per group| collapse_latest(field)# Group by field, showing latest document per group| boost(field1:3.0, field2:1.5)# Increase relevance of matches in specific fields
Commands are processed left to right, each operating on the output of the previous one, allowing you to build complex data processing pipelines.
Clauses
Clauses modify how functions operate by specifying grouping, filtering, or naming operations. They extend function capabilities by defining how results should be organized or filtered.
The most common clause is the by clause, which groups function results:
| stats unique_count(project.name) by vulnerability.severity# Get distinct project counts by vulnerability severity| chart table(field1, field2) by group_field# Create table grouped by a field
Clauses support nested aggregations, allowing for hierarchical grouping with multiple fields:
| stats count(project.name) by (package.name, project.organisation)# Creates nested grouping structure
This hierarchical structure is implemented through nested OpenSearch aggregations, with each level corresponding to one of the specified fields.
How to Use LQL
If you are looking for:
packages(components): start your LQL with
package.<something>=<value>eg:package.name=log4j*# All names starting from log4jpackage.category=tp $OR oss# All packages whose category is either third party or OSS
vulnerabilities: start your LQL with
vulnerability.<something>=<value>eg:vulnerability.name=CVE-1234*# All names starting from CVE-1234vulnerability.severity=*# All severities
code_quality issues: start your LQL with
code_quality.<something>=<value>eg:code_quality.name=EOLcode_quality.severity=*
security_posture: start your LQL with
security_posture.<something>=<value>eg:security_posture.name=EOLsecurity_posture.severity=*
commits: start your LQL with
commits.<something>=<value>eg:commits.country_code=*# Commits from all countriescommits.contributor_commit_count > 10# Commits data where contributors made more than 10 commits
Search Examples with All Fields (Raw Data)
The following examples use search term only and query the data. The data returned is the raw data and includes all fields.
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 with specific fields
Use the chart table() function to specify exactly which fields to return, for cases where only certain fields are required in the response.
Search for All Versions of log4j
To display all versions of log4j
Response:
Search for All Versions of log4j With Vulnerabilities
Response:
Search For 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.
Response:
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.
Response:
LQL Query Quick Reference
Search Term Operators
field=value# Exact match eg.vulnerability.severity=criticalfield=value with spaces# Exact match with spaces eg.project.name=Apache Software Foundationfield=*# Any value (exists) eg.vulnerability.severity=*field=value*# Starts with eg.vulnerability.name=CVE-28*field=*value*# Contains eg.vulnerability.name=*VE-28*field!=value# Not equal eg.vulnerability.exploited!=truefield>value# Greater than eg.project.created > 2025-06-24 $OR risk_level.score > 9field>=value# Greater than or equal eg.project.created >= 2025-06-24 $OR risk_level.score >= 9field<value# Less than eg.project.created < 2025-06-24 $OR risk_level.score < 9field<=value# Less than or equal eg.project.created <= 2025-06-24 $OR risk_level.score <= 9
Logical Operators
field1=value1 $AND field2=value2# Both conditions must be truefield1=value1 $OR field2=value2# Either condition must be truefield=value1 $AND value2# Field equals value1 AND value2field=value1 $OR value2# Field equals either value1 OR value2
Functions
| stats avg(field1, field2, ...)# Average values of field| stats count(field1, field2, ...)# Count occurrences of field| stats max(field1, field2, ...)# Maximum value of field| stats min(field1, field2, ...)# Minimum value of field| stats sum(field1, field2, ...)# Sum values of field| stats unique(field1, field2, ...)# Get unique values of field| stats unique_values(field1, field2, ...)# Get unique values of field| stats unique_count(field1, field2, ...)# Count unique values of field| stats top_hits(10)# Get top 10 hits for the search term results| chart table(field1, field2, ...)# Format as table with specified fields| chart table_fold(field1, field2, ...)# Format as folded table| chart histogram(field1, field2, ...)# Create histogram of field values
Commands
| sort(field:asc)# Sort results ascending eg.| sort(project.name:asc)| sort(field:desc)# Sort results descending eg.| sort(project.name:desc)| sort(field1:asc, field2:desc)# Sort by multiple fields eg.| sort(project.name:asc, package.name:asc)| collapse(field)# Group results by field, returning top document per group eg.| collapse(package.purl)| collapse_latest(field)# Group results by field, returning latest document per group eg.| collapse_latest(package.purl)| boost(field1:2.0, field2:1.5)# Boost relevance of specific fields in search results| histogram_interval(field1:day, field2:month, field3:100)# Set histogram interval for date fields
Clauses
| stats avg(field1, field2, ...) by (field4, ...)# Average values of fields grouped by field4 or more| stats count(field1, field2, ...) by (field4, ...)# Count occurrences of fields grouped by field4 or more| stats max(field1, field2, ...) by (field4, ...)# Maximum value of fields grouped by field4 or more| stats min(field1, field2, ...) by (field4, ...)# Minimum value of fields grouped by field4 or more| stats sum(field1, field2, ...) by (field4, ...)# Sum values of fields grouped by field4 or more| stats unique(field1, field2, ...) by (field4, ...)# Get unique values of fields grouped by field4 or more| stats unique_count(field1, field2, ...) by (field4, ...)# Count unique values of fields grouped by field4 or more| stats unique_values(field1, field2, ...) by (field4, ...)# Get unique values of fields grouped by field4 or more| chart table(field1, field2, ...) by (field4, ...)# Format as table with specified fields grouped by field4 or more| chart table_fold(field1, field2, ...) by (field4, ...)# Format as folded table grouped by field4 or more| chart histogram(field1, field2, ...) by (field4, ...)# Create histogram of fields values grouped by field4 or more
Evaluation order of LQL
LQL queries are evaluated strictly from left to right, which means the order of your search terms matters. Think of it like building a filter for your results one step at a time:
How It Works
Start with the first term: This creates your initial set of results
Add each next term: Each new term either narrows down your results (with $AND) or adds more results (with $OR)
Operators Work at Two Levels
Between different fields: Connect complete search conditions (e.g.,
field1=value $AND field2=value)Within the same field: Connect multiple values for one field (e.g.,
field=value1 $OR value2)
Visual Guide to Operators
Best Practices
Be as specific as possible with search terms to improve performance
For complex aggregations, consider using multiple queries
When searching for exact matches, avoid wildcards
For time-based queries, use ISO date format (YYYY-MM-DD) for precision
Use the
chart tablecommand with a limited set of fields to improve readability
LQL field glossary
Package
package.purl- package purl imppackage.name- package name imppackage.version- package version imppackage.pkg_manager- package pkg manager imppackage.download_loc- package download locationpackage.checksum.md5- package checksum md5 imppackage.checksum.sha1- package checksum sha1package.checksum.sha256- package checksum sha256package.checksum.sha512- package checksum sha512package.description- package descriptionpackage.last_modified- package last modifiedpackage.license.url- package license url imppackage.license.version- package license versionpackage.license- package license imppackage.supplier_info.name- package supplier info name imppackage.supplier_info.org- package supplier info orgpackage.total_fixed_vulnerability_count- package total fixed vulnerability countpackage.total_vulnerability_count- package total vulnerability count imppackage.category- package categorypackage.classification- package classificationpackage.cpes- package cpespackage.desc- package descpackage.file_name- package file namepackage.files_analysed- package files analysedpackage.friendly_name- package friendly namepackage.id- package idpackage.license_category- package license categorypackage.license_name- package license namepackage.license.category- package license categorypackage.license.doc_created- package license doc createdpackage.license.extn- package license extnpackage.license.full_name- package license full namepackage.license.fullname- package license fullnamepackage.license.id_contributing_properties- package license id contributing propertiespackage.license.is_gridfs- package license is gridfspackage.license.is_opensource- package license is opensourcepackage.license.short_id- package license short idpackage.license.spdx_id_suffix- package license SPDX ID suffixpackage.license.url- package license urlpackage.license.version- package license versionpackage.license- package licensepackage.scope- package scopepackage.src_info- package src infopackage.supplier_info.home_page- package supplier info home pagepackage.supplier_info.is_verified- package supplier info is verifiedpackage.supplier- package supplierpackage.vuln_fixed_info.major.count- package vuln fixed info major countpackage.vuln_fixed_info.major.version- package vuln fixed info major versionpackage.vuln_fixed_info.major.vuln_ids- package vuln fixed info major vuln idspackage.vuln_fixed_info.minor.count- package vuln fixed info minor countpackage.vuln_fixed_info.minor.version- package vuln fixed info minor versionpackage.vuln_fixed_info.minor.vuln_ids- package vuln fixed info minor vuln idspackage.vuln_fixed_info.patch.count- package vuln fixed info patch countpackage.vuln_fixed_info.patch.version- package vuln fixed info patch versionpackage.vuln_fixed_info.patch.vuln_ids- package vuln fixed info patch vuln idspackage.vuln_fixed_info.upgrade.count- package vuln fixed info upgrade countpackage.vuln_fixed_info.upgrade.version- package vuln fixed info upgrade versionpackage.vuln_fixed_info.upgrade.vuln_ids- package vuln fixed info upgrade vuln ids
Image
image.name- image nameimage.version- image version impimage.os- image osimage.tags- image tags impimage.manifest- image manifestimage.owner- image ownerimage.size- image size impimage.architecture- image architecture impimage.repo_checksum- image repo checksum impimage.layer.checksum.sha256- image layer checksum sha256image.layer.size- image layer sizeimage.download_loc- image download loc impimage.config- image configimage.desc- image descimage.docker_version- image docker versionimage.file_name- image file nameimage.image_created- image image createdimage.layer.doc_created- image layer doc createdimage.layer.extn- image layer extnimage.layer.id_contributing_properties- image layer id contributing propertiesimage.layer.is_gridfs- image layer is gridfsimage.layer.spdx_id_suffix- image layer spdx id suffix
Vulnerability
vulnerability.name- vulnerability name, contains the CVE name like CVE-2025-1234, GHSA-aaa, etcvulnerability.score- vulnerability scorevulnerability.severity- vulnerability severity, can be Critical, High, Medium, Low, Unknownvulnerability.base_score- vulnerability base scorevulnerability.name_space- vulnerability name space like NVD, Ubuntu etcvulnerability.description- vulnerability descriptionvulnerability.vector- vulnerability vectorvulnerability.vuln_created- vulnerability detection time in the worldvulnerability.vuln_modified- vulnerability last modified time in the worldvulnerability.vuln_withdrawn- vulnerability withdrawal time in the worldvulnerability.fix_state- vulnerability fix statevulnerability.fix_versions- vulnerability fix versionsvulnerability.impact_score- vulnerability impact scorevulnerability.is_exploited- vulnerability is exploitedvulnerability.affected_versions- vulnerability affected versionsvulnerability.category- vulnerability categoryvulnerability.collector- vulnerability collectorvulnerability.count- vulnerability countvulnerability.created- vulnerability detection time at Lineaje Incvulnerability.cvs_version- vulnerability cvs versionvulnerability.data_source- vulnerability data sourcevulnerability.dep_tree- vulnerability dep treevulnerability.desc- vulnerability descriptionvulnerability.doc_created- vulnerability doc createdvulnerability.exploitability_score- vulnerability exploitability scorevulnerability.exploitable- vulnerability exploitablevulnerability.id- vulnerability idvulnerability.last_modified- vulnerability last modifiedvulnerability.last_updated- vulnerability last updatedvulnerability.mitigated.status- vulnerability mitigated statusvulnerability.modified- vulnerability modifiedvulnerability.origin- vulnerability originvulnerability.package_purl- vulnerability package purlvulnerability.package.name- vulnerability package namevulnerability.package.pkg_manager- vulnerability package pkg managervulnerability.package.version- vulnerability package versionvulnerability.purl- vulnerability purlvulnerability.target- vulnerability targetvulnerability.updated- vulnerability updatedvulnerability.vuln_id- vulnerability vuln id
Attestation
attestation_level.lcal- Attestation level score [INTEGER], can be LCAL-0 to LCAL-4 [0, 4]
Risk Score
risk_level.score- Risk Level Score [FLOAT], can be one of IRLC, IRLH, IRLM, IRLL, ZIRL [0.0, 10.0]risk_level.severity- Risk Level Severity
Security Posture
security_posture.name- security posture name, can be one of Branch-Protection,Pinned-Dependencies,Dangerous-Workflow, SAST, Dependency-Update-Tool, Security-Policy, Fuzzing, Token-Permissions, Packaging, Webhooks, Embedded Secretssecurity_posture.score- security posture scoresecurity_posture.severity- security posture severitysecurity_posture.reason- security posture reasonsecurity_posture.desc- security posture descsecurity_posture.entropy- security posture entropysecurity_posture.author- security posture authorsecurity_posture.check_metadata- security posture check metadatasecurity_posture.checksum.md5- security posture checksum md5security_posture.checksum.sha1- security posture checksum sha1security_posture.checksum.sha256- security posture checksum sha256security_posture.checksum.sha512- security posture checksum sha512security_posture.chk_metadata- security posture chk metadatasecurity_posture.chksum.md5- security posture chksum md5security_posture.chksum.sha1- security posture chksum sha1security_posture.chksum.sha256- security posture chksum sha256security_posture.chksum.sha512- security posture chksum sha512security_posture.collector- security posture collectorsecurity_posture.commit- security posture commitsecurity_posture.complexity- security posture complexitysecurity_posture.created- security posture createdsecurity_posture.date- security posture datesecurity_posture.description- security posture descriptionsecurity_posture.documentation_desc- security posture documentation descsecurity_posture.documentation_description- security posture documentation descriptionsecurity_posture.documentation_short- security posture documentation shortsecurity_posture.documentation_url- security posture documentation urlsecurity_posture.email- security posture emailsecurity_posture.fingerprint- security posture fingerprintsecurity_posture.lang- security posture langsecurity_posture.language- security posture languagesecurity_posture.loc- security posture locationsecurity_posture.message- security posture messagesecurity_posture.msg- security posture msgsecurity_posture.origin- security posture originsecurity_posture.rule_id- security posture rule idsecurity_posture.secret- security posture secretsecurity_posture.sloc- security posture slocsecurity_posture.source_code_name- security posture source code namesecurity_posture.source_code_version- security posture source code versionsecurity_posture.source_code.name- security posture source code namesecurity_posture.source_code.version- security posture source code versionsecurity_posture.source_link- security posture source linksecurity_posture.src_link- security posture src link
Code Quality
code_quality.name- Code quality check name, can be one of Embedded Secrets, Binary-Artifacts, CII-Best-Practices,Fuzzing, Gitleaks, CI-Tests, Code-Review, Maintainedcode_quality.score- Code quality check scorecode_quality.severity- Code quality check severitycode_quality.reason- Code quality check reasoncode_quality.desc- Code quality check descriptioncode_quality.author- Code quality check authorcode_quality.checksum.md5- Code quality check md5 checksumcode_quality.checksum.sha1- Code quality check sha1 checksumcode_quality.checksum.sha256- Code quality check sha256 checksumcode_quality.checksum.sha512- Code quality check sha512 checksumcode_quality.chk_metadata- Code quality check metadatacode_quality.chksum.md5- Code quality check md5 checksumcode_quality.chksum.sha1- Code quality check sha1 checksumcode_quality.chksum.sha256- Code quality check sha256 checksumcode_quality.chksum.sha512- Code quality check sha512 checksumcode_quality.collector- Code quality check collectorcode_quality.commit- Code quality check commit namecode_quality.complexity- Code quality check complexitycode_quality.created- Code quality check created datecode_quality.date- Code quality check datecode_quality.description- Code quality check descriptioncode_quality.documentation_desc- Code quality check documentation descriptioncode_quality.documentation_description- Code quality check documentation descriptioncode_quality.documentation_short- Code quality check documentation shortcode_quality.documentation_url- Code quality check documentation urlcode_quality.email- Code quality check emailcode_quality.entropy- Code quality check entropycode_quality.fingerprint- Code quality check fingerprintcode_quality.lang- Code quality check languagecode_quality.language- Code quality check languagecode_quality.loc- Code quality check locationcode_quality.message- Code quality check messagecode_quality.msg- Code quality check messagecode_quality.origin- Code quality check origincode_quality.rule_id- Code quality check rule idcode_quality.secret- Code quality check secretcode_quality.sloc- Code quality check source code locationcode_quality.source_code_name- Code quality check source code namecode_quality.source_code_version- Code quality check source code versioncode_quality.source_code.name- Code quality check source code namecode_quality.source_code.version- Code quality check source code versioncode_quality.source_link- Code quality check source linkcode_quality.src_link- Code quality check source link
Source Code
source_code.loc- source code location (like https://github.com//)source_code.version- source code versionsource_code.tag- source code tag (tag or branch)source_code.code_quality_score- source code code quality scoresource_code.contributors_count- source code contributors countsource_code.total_commits- source code total commitssource_code.first_commit- source code first commitsource_code.last_commit- source code last commitsource_code.is_opensource- source code is opensourcesource_code.direct_dep_count- source code direct dep countsource_code.friendly_name- source code friendly namesource_code.id- source code idsource_code.is_opensource- source code is opensourcesource_code.is_suspicious_activity- source code is suspicious activitysource_code.languages- source code languagessource_code.latest_version_date- source code latest version datesource_code.latest_version- source code latest versionsource_code.name- source code namesource_code.score- source code scoresource_code.security_posture_score- source code security posture scoresource_code.src_code_created- source code src code createdsource_code.transitive_dep_count- source code transitive dep countsource_code.url- source code url
Provenance
provenance.country.code- provenance country codeprovenance.timezone- provenance timezoneprovenance.contributor_commit_count- provenance contributor commit countprovenance.contributor_link- provenance contributor linkprovenance.contributor.commit_count- provenance contributor commit countprovenance.contributor.commits- provenance contributor commitsprovenance.contributor.email- provenance contributor emailprovenance.contributor.is_suspicious- provenance contributor is suspiciousprovenance.contributor.link- provenance contributor linkprovenance.contributor.name- provenance contributor nameprovenance.count- provenance countprovenance.country_code- provenance country codeprovenance.internal.country.code- provenance internal country code
Contributor
contributor.name- contributor namecontributor.email- contributor emailcontributor.id- contributor idcontributor.commits- contributor commitscontributor.is_suspicious- contributor is suspiciouscontributor.link- contributor linkcommit.contributor.commit_count- contributor commit countcommit.contributor_email- contributor emailcommit.contributor_link- contributor linkcommit.contributor.country.code- contributor country codecommit.contributor.email- contributor emailcommit.contributor.is_suspicious- contributor is suspiciouscommit.contributor.link- contributor linkcommit.contributor.name- contributor namecommits.commit- Commit namecommits.contributor_commit_count- contributor commit countcommits.contributor_email- contributor emailcommits.contributor_link- contributor linkcommits.contributor.country.code- contributor country codecommits.contributor.email- contributor emailcommits.contributor.is_suspicious- contributor is suspiciouscommits.contributor.link- contributor linkcommits.contributor.name- contributor namecommits.count- contributor commit countcommits.country_code- commits country codecommits.country.code- commits country codecommits.timezone- commits timezone
License
license.url- license urllicense.category- license categorylicense.fullname- license fullnamelicense.is_deprecated- license is deprecatedlicense.is_opensource- license is opensourcelicense.is_osi_approved- license is osi approvedlicense.license_id- license license idlicense.name- license namelicense.full_name- license full namelicense.short_id- license short idlicense.component_category- license component categorylicense.details_url- license details urllicense.is_deprecated_license_id- license is deprecated license idlicense.is_fsf_libre- license is fsf librelicense.reference_number- license reference numberlicense.references- license referenceslicense.tenant_id- license tenant idlicense.version- license version
Supplier
supplier.name- supplier namesupplier_info.name- supplier info namesupplier.is_verified- supplier is verifiedsupplier.organisation- supplier organisationsupplier.verified- supplier verified
Last updated