
Endor Labs
Application Security- Overview
- Setup
- Data & mappings
- Operations & API
- Changelog
The Endor Labs Connector integrates with the Endor Labs Application Security platform to synchronize projects, repositories, packages, security findings, and finding definitions. It connects to the Endor Labs API to fetch data across all namespaces, providing visibility into code repositories, package dependencies, and vulnerability findings.
Sync Behavior
Each sync performs a full pull of every model across the configured namespace and all of its traversable child namespaces. The connector does not perform incremental (date-filtered) syncs: although the framework supplies a since sync token, no model applies it as a server-side date filter, so all objects are retrieved on every run. To narrow results, use the filter operation option where supported.
Data retrieved from Endor Labs
| Connector Object | Required | Maps to Data Model |
|---|---|---|
| Project | Yes | Code Project |
| Repository | Yes | Code Repository |
| Package | Yes | Package |
| Finding | Yes | Static Code Finding |
| Finding Definition | Yes | Static Code Finding Definition |
Model relationships
For detailed steps on how to view the data retrieved from Endor Labs in the Brinqa Platform, see How to view your data.
Connection settings
When setting up a data integration, select Endor Labs from the Connector dropdown and provide the following:
| Setting | Required | Default | Description |
|---|---|---|---|
| API URL | Yes | https://api.endorlabs.com | Endor Labs API URL |
| API key ID | Yes | -- | The API key ID for authentication. |
| Api key secret | Yes | -- | The API key secret for authentication. |
| Namespace | Yes | -- | The namespace to use for the Endor Labs API. |
| Page Size | No | 100 | The number of results to return per page. Default is 100. |
| Maximum retries | No | 5 | Maximum number of retry attempts before giving up a request |
| Request timeout (secs) | No | 120 | Maximum seconds allotted before a request will time out. Default is 120. Maximum allowed value 300. |
Authentication
The connector uses API key authentication to obtain a bearer token from the Endor Labs API.
Endpoint
| Method | URL |
|---|---|
POST | https://api.endorlabs.com/v1/auth/api-key |
Request Headers
| Header | Value |
|---|---|
Content-Type | application/json |
Request Body
{
"key": "your-api-key-id",
"secret": "your-api-key-secret"
}
Sample Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expirationTime": "2026-02-07T02:49:05Z"
}
Response Fields
| Field | Type | Description |
|---|---|---|
token | String | Bearer token for API requests |
expirationTime | OffsetDateTime | Token expiration timestamp |
Usage
Once authenticated, all subsequent API requests include the bearer token:
Authorization: Bearer <token>
How to obtain Endor Labs credentials
Obtain the required credentials (url, namespace, apiKeyId, apiKeySecret) from your Endor Labs administrator or the Endor Labs admin console, then enter them in the connection settings above.
Attribute mappings
Expand the sections below to view the mappings between the source and the Brinqa data model attributes:
Project
| Source Field Name | SDM Attribute |
|---|---|
| -- | LAST_CAPTURED |
Meta.createTime | SOURCE_CREATED_DATE |
Meta.tags | TAGS |
ProcessingStatus.scanTime | LAST_SCANNED |
ProjectResource.uuid | UID |
ProjectSpec.git.fullName | NAME |
ProjectSpec.git.fullName | FULL_NAME |
ProjectSpec.git.webUrl | WEB_URL |
ProjectSpec.platformSource | PLATFORM_SOURCE |
TenantMeta.namespace | NAMESPACE |
Repository
| Source Field Name | SDM Attribute |
|---|---|
| -- | LAST_CAPTURED |
Meta.name | NAME |
Meta.parentUuid | PROJECT_ID |
RepositoryResource.uuid | UID |
RepositorySpec.createTime | SOURCE_CREATED_DATE |
RepositorySpec.defaultBranch | DEFAULT_BRANCH |
RepositorySpec.httpCloneUrl | URL |
RepositorySpec.platformSource | PLATFORM_SOURCE |
RepositorySpec.tags | TAGS |
RepositorySpec.updateTime | SOURCE_LAST_MODIFIED |
TenantMeta.namespace | NAMESPACE |
Package
| Source Field Name | SDM Attribute |
|---|---|
| -- | LAST_CAPTURED |
Meta.createTime | SOURCE_CREATED_DATE |
Meta.tags | TAGS |
PackageVersionResource.uuid | UID |
PackageVersionSpec.ecosystem | ECOSYSTEM |
PackageVersionSpec.packageName | NAME |
PackageVersionSpec.projectUuid | PROJECT_ID |
PackageVersionSpec.releaseTimestamp | RELEASE_DATE |
TenantMeta.namespace | NAMESPACE |
Finding
| Source Field Name | SDM Attribute |
|---|---|
| -- | LAST_CAPTURED |
FindingMetadata.sourcePolicyInfo.name | POLICY_NAME |
FindingResource.findingDefinitionUid | TYPE |
FindingResource.uuid | UID |
FindingSpec.findingCategories | CATEGORIES |
FindingSpec.findingTags | TAGS |
FindingSpec.level | LEVEL |
FindingSpec.projectUuid | PROJECT_ID |
FindingSpec.remediation | REMEDIATION |
FindingSpec.remediationAction | RECOMMENDATION |
FindingSpec.summary | SUMMARY |
FindingSpec.targetDependencyName | PACKAGE_NAME |
FindingSpec.targetDependencyVersion | PACKAGE_VERSION |
Meta.createTime | FIRST_FOUND |
Meta.description | NAME |
Meta.parentKind | PARENT_KIND |
Meta.parentUuid | TARGETS |
Meta.updateTime | LAST_SEEN |
TenantMeta.namespace | NAMESPACE |
Finding Definition
| Source Field Name | SDM Attribute |
|---|---|
| -- | LAST_CAPTURED |
Affected.versions | AFFECTED_VERSION |
CvssV3Severity.level | CVSS_V3_SEVERITY |
CvssV3Severity.score | CVSS_V3_BASE_SCORE |
CvssV3Severity.temporalScore | CVSS_V3_TEMPORAL_SCORE |
CvssV3Severity.vector | CVSS_V3_VECTOR |
CvssV4Severity.baseLevel | CVSS_V4_BASE_LEVEL |
CvssV4Severity.baseScore | CVSS_V4_BASE_SCORE |
CvssV4Severity.environmentalLevel | CVSS_V4_ENVIRONMENTAL_LEVEL |
CvssV4Severity.environmentalScore | CVSS_V4_ENVIRONMENTAL_SCORE |
CvssV4Severity.threatLevel | CVSS_V4_THREAT_LEVEL |
CvssV4Severity.threatScore | CVSS_V4_THREAT_SCORE |
CvssV4Severity.vector | CVSS_V4_VECTOR |
EpssScore.percentileScore | EPSS_PERCENTILE |
EpssScore.probabilityScore | EPSS_SCORE |
FindingMetadata.cvssVersion | CVSS_VERSION |
FindingMetadata.description | DESCRIPTION |
FindingMetadata.vulnerability.meta.name | NAME |
FindingResource.findingDefinitionUid | UID |
Reference.url | REFERENCES |
VulnerabilityResource.cveId | CVE_IDS |
Operations & API
Expand each connector object to see its operation options, delta-sync behavior, and the API it uses. See connector operation options for how to apply operation options (keys and values are case-sensitive).
Project
Operation options
| Option | Type | Default | Description |
|---|---|---|---|
filter | (none) | Endor Labs query passed through as the API list_parameters.filter request param | spec.git exists |
Delta sync
Not supported. The connector performs a full sync of Project on every run and applies no incremental date filter.
API
- Type: REST endpoint · Endpoint:
GET /v1/namespaces/{namespace}/projects
Repository
Operation options
This object does not support any operation options.
Delta sync
Not supported. The connector performs a full sync of Repository on every run and applies no incremental date filter.
API
- Type: REST endpoint · Endpoint:
GET /v1/namespaces/{namespace}/repositories
Package
Operation options
| Option | Type | Default | Description |
|---|---|---|---|
filter | (none) | Endor Labs query passed through as the API list_parameters.filter request param | -- |
Delta sync
Not supported. The connector performs a full sync of Package on every run and applies no incremental date filter.
API
- Type: REST endpoint · Endpoint:
GET /v1/namespaces/{namespace}/package-versions
Finding
Operation options
| Option | Type | Default | Description |
|---|---|---|---|
filter | (none) | Endor Labs query passed through as the API list_parameters.filter request param | -- |
Delta sync
Not supported. The connector performs a full sync of Finding on every run and applies no incremental date filter.
API
- Type: REST endpoint · Endpoint:
GET /v1/namespaces/{namespace}/findings
Finding Definition
Operation options
| Option | Type | Default | Description |
|---|---|---|---|
filter | (none) | Endor Labs query passed through as the API list_parameters.filter request param when retrieving findings | -- |
Delta sync
Not supported. The connector performs a full sync of Finding Definition on every run and applies no incremental date filter.
API
- Type: REST endpoint · Endpoint:
GET /v1/namespaces/{namespace}/findings
Changelog
The Endor Labs connector has undergone the following changes:
| Version | Description | Migration Steps |
|---|---|---|
| 3.0.5 | New Features - Added a configurable request timeout setting that controls how long the connector waits for an API response before timing out. The timeout defaults to 120 seconds and can be set up to a maximum of 300 seconds. Bug Fixes - Fixed an issue where finding syncs could fail partway through after retrieving some items. API requests now honor the configurable request timeout, so slow or unresponsive responses no longer interrupt a sync in progress. | N/A |
| 3.0.4 | Improvements - Updated README with refreshed setup, configuration, and usage documentation for the Endor Labs connector. | N/A |
| 3.0.3 | Improvements - Package data syncs now honor the configured search filter, so filtering applies consistently across both packages and findings and lets you narrow the synced package set to what matters to your program. | N/A |
| 3.0.2 | Bug Fixes - Fixed namespace discovery so that the configured base namespace is always included and child namespaces are resolved by their full name. This ensures all expected projects, repositories, packages, and findings are synced when working across nested namespaces. | N/A |
| 3.0.1 | New Features - Added support for syncing data across nested namespaces. The connector now automatically discovers child namespaces under the configured namespace and synchronizes projects, repositories, packages, and findings from each of them. - Findings and packages now include the namespace they belong to, making it easier to attribute and group results by namespace. Improvements - Corrected several field mappings in the connector documentation. | N/A |
| 3.0.0 | Overview The Endor Labs connector integrates with Endor Labs to synchronize software supply chain assets and security findings, including projects, repositories, packages, and the findings and finding definitions identified across them. Category: Application Security Models | N/A |