For the complete documentation index, see llms.txt. This page is also available as Markdown.

Manage Notifications

Interlynk sends notifications when things happen to your SBOMs: a version uploads, a scan finds new vulnerabilities, a policy fails, a license changes. The API gives you three independent controls over those notifications.

Control
Scope
What it sets

Settings

Organization or user

Which message types fire, and at what severity level.

Preferences

User, per environment

Which categories you subscribe to for a given environment.

Channels

User

Where notifications go: email, Slack, Teams.

Settings are the only control with an organization-wide scope. Preferences and channels always belong to the calling user. Read each one before you change it, since most calls overwrite rather than merge.

Notification settings

A setting decides whether a message type is enabled and at what level. Levels are ALERT, WARN, or INFO. Settings exist at two scopes: the organization default, and a per-user override. The org flag on the update mutation picks which one you write.

Read the organization settings

curl https://api.interlynk.io/lynkapi \
  -H "Authorization: Bearer $INTERLYNK_SECURITY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "query { organization { notificationSettings { messageType title enabled level hasOverride } } }"}'
{
  "data": {
    "organization": {
      "notificationSettings": [
        { "messageType": "SBOM_UPLOAD_SUCCESS", "title": "Version Upload Success", "enabled": true, "level": "INFO", "hasOverride": false },
        { "messageType": "SBOM_UPLOAD_FAILED", "title": "Version Upload Failed", "enabled": true, "level": "ALERT", "hasOverride": true }
      ]
    }
  }
}

hasOverride is true when the organization has changed the message type from its system default. The full list of message types is in the reference table below.

To read your own user-level overrides instead, query organizationUser:

Update settings

bulkUpdateNotificationSettings writes one or more settings in a single call. Set org to true for the organization default, or false for your own user-level override. Each entry needs a messageType and at least one of enabled or level.

The whole batch is transactional. If any entry fails, for example an unknown messageType, nothing is written and the reason comes back in errors.

Writing organization settings (org: true) requires the Edit Notification Settings permission, which Admin and Owner roles have. A Viewer can read organization settings but not change them, and gets You are not authorized to perform this action on NotificationSetting. Any user can write their own settings with org: false.

Message types

messageType

Title

Default level

SBOM_UPLOAD_SUCCESS

Version Upload Success

INFO

SBOM_UPLOAD_FAILED

Version Upload Failed

ALERT

SBOM_VULN_SCAN_REPORT

Version Vulnerability Summary Report

ALERT

NEW_VULNS_REPORT

Version Vulnerability Scan Report

ALERT

VULN_DIFF_REPORT

Version Vulnerability Comparison Report

WARN

SBOM_POLICY_SCAN_REPORT

Version Policy Scan Report

WARN

LICENSE_CREATION_SUCCESS

Organization License Create Success

INFO

LICENSE_CREATION_FAILED

Organization License Create Failed

ALERT

LICENSE_UPDATE_SUCCESS

Organization License Update Success

INFO

LICENSE_UPDATE_FAILED

Organization License Update Failed

ALERT

LICENSE_SUMMARY

Version License Summary

INFO

SBOM_LICENSE_UPDATE

Version License Update

INFO

COMPONENT_LICENSE_UPDATE

Version Component License Update

INFO

Read the live list from your own organization with the settings query above. New message types are added over time.

Notification preferences

Preferences are user-scoped and set per environment. Each environment subscribes to a set of categories. The valid categories are none, all, vulnerabilities, licenses, policies, and uploads. Use none to unsubscribe and all to subscribe to everything.

Read your preferences for one environment

Pass the environment ID as envId. Get environment IDs from List Products and Versions.

To see every product and environment at once, query organizationUser. The preferences are grouped by product:

Update one environment

notificationPreferenceUpdate replaces the categories for a single environment. The list you send is the full set of categories after the call, so include every category you want to keep.

Update many environments at once

bulkUpdateNotificationPreferences takes a list, one entry per environment. Each entry pairs a projectId (the environment ID) with its enabledCategories.

Delivery channels

Channels decide where your notifications go. They are user-scoped. Email, Slack, and Teams are simple on or off toggles. Slack and Teams also need a webhook URL, which you set separately.

Read your channels

Turn channels on or off

notificationChannelUpdate sets all three toggles at once.

Set a webhook URL

notificationConfigUpdate sets one webhook per call. Send either slackWebhookUrl or teamsWebhookUrl, not both in the same call.

After setting the webhook, turn the matching channel on with notificationChannelUpdate.

Errors

The bulk mutations report per-entry failures in their errors list and keep the operation transactional, so a single bad entry rolls back the whole batch:

Message
Cause

Unknown notification type: ...

The messageType is not a valid type. See the reference table.

At least one of enabled or level must be specified

A settings entry had only a messageType.

You are not authorized to perform this action on NotificationSetting

You sent org: true without the Edit Notification Settings permission.

See Errors for the general error model.

Last updated