Introduction to Snyk Apps
Currently, Snyk Apps are in beta and only an App’s developer (Snyk Organization) can install the Snyk App they created - you. We want to learn more about what the community needs before we launch our App marketplace.
Snyk Apps are integrations that extend the functionality of the Snyk platform. They provide you with an opportunity to mould your Snyk experience to suit your specific needs.
The easiest way to start building a new Snyk App is to clone our Demo Snyk App Github repository. You can either modify the demo to suit your App design or use it as a base for creating your own Snyk App.
This document describes how to create a new Snyk App in the language of your choice, and can be used along with the API documentation and our OAuth2 API documentation.

Integrating Apps with Snyk

The Snyk Apps platform uses an OAuth 2.0 authorization flow. This allows your Snyk App to get an access token to act on a users’ behalf, depending on the scopes you request. There are many OAuth 2.0 libraries available that will greatly simplify the integration. Our Snyk App Demo uses the popular JavaScript library passportjs.

How do Apps connect?

When a Snyk App connects to a user’s account, the user selects which Organization (Org) to authorize with the App. The resulting connection is no longer tied to that specific user, so it is not bound by the user’s access or lifecycle but is linked to the Org’s lifecycle. You can read more on Orgs in What’s a Snyk organization.
As an App is connected and authorized through a Snyk organization, this controls which API endpoints can be used in an App, and which actions can be performed.
The final step of the integration process is to get the ID of the Snyk organization the user has authorized. This ID is needed to use most API endpoints and should be associated with the account/user/workspace on the App side. For example, endpoints that are authorized through a Snyk Group cannot be authorized at the Snyk Org level, and so are not supported in Apps.
Last modified 1mo ago
Export as PDF
Copy link
Edit on GitHub