Data Model
Before you call the API, it helps to know how Interlynk organizes data. Four levels nest inside your organization.
Organization
└── Product (a piece of software you track)
└── Environment (default, development, production, ...)
└── Version (one uploaded SBOM)
└── Component (a dependency inside that SBOM)The four levels
Product
A piece of software you track, for example payments-service.
Environment
A stage within a product. Every product starts with default, development, and production.
Version
A single SBOM uploaded to an environment. Each upload creates a new version.
Component
One dependency listed inside a version's SBOM.
When you upload an SBOM, you upload it to a product and an environment. The upload becomes a new version.
Dashboard names vs API names
The GraphQL schema uses different names than the dashboard. They mean the same things. You will see the API names in queries and responses.
Product
projectGroup
Environment
project
Version
sbom
Component
component
So a product's ID is the id of a projectGroup, an environment's ID is the id of a project, and a version's ID is the id of an sbom.
Identifiers
Every object has a UUID id, for example 4e423fe0-d089-4025-b1e4-8fe9608138d6. Most calls need one or more of these IDs.
You can refer to objects two ways:
By ID. Pass the UUID directly. This is exact and fast.
By name. Some calls accept a product name and environment name instead. Useful when you do not have IDs yet, for example in a build script.
To find IDs, see List Products and Versions.
Last updated