> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Snyk Webhook Setup Guide

> Configure Snyk to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/snyk#getting-started) on the Snyk connector page.

<section data-guide-section data-guide-scopes="">
  <h2>How webhooks are set up</h2>

  <p>Snyk delivers events through an organization-scoped webhook subscription, and StackOne provisions it for you on connection. When you connect your account, StackOne creates one Snyk webhook (`POST /v1/org/{orgId}/webhooks`) pointing at a StackOne callback URL. When you disconnect, StackOne deletes that webhook (`DELETE /v1/org/{orgId}/webhooks/{id}`). There is nothing to configure in Snyk.</p>

  <Steps>
    <Step title="Set your Organization ID">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Because Snyk webhooks are organization-scoped, provide the <strong>Organization ID</strong> of the Snyk organization you want events from. Find it in Snyk under the organization's <strong>Settings > General > Organization ID</strong>.</p>
      </div>
    </Step>

    <Step title="Connect with your token">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Authorize the connection with your Snyk <strong>Auth Token</strong> (or <strong>Personal Access Token</strong>) and <strong>Region</strong> so StackOne can create and delete the webhook subscription on your behalf. Creating outbound webhooks requires an Enterprise plan and an organization role with the outbound-webhook permissions.</p>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>Snyk delivers a single webhook event type. StackOne routes each delivery to its handler.</p>

  <Steps>
    <Step title="Project events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to project tests and snapshots.</p>

        <ul>
          <li><strong>Project Snapshot</strong> (`project_snapshot`) — Fired every time an existing project is tested and a new snapshot is created, whether or not there are new issues. Applies to Open Source and Container projects, which Snyk re-tests on a recurring schedule.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>Details of how Snyk delivers events to StackOne.</p>

  <Steps>
    <Step title="Headers carry the metadata">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Each delivery is a single JSON object whose body holds `project`, `org`, `group`, `newIssues`, and `removedIssues`. The event type, a unique delivery id, and the timestamp travel in the `X-Snyk-Event`, `X-Snyk-Transport-ID`, and `X-Snyk-Timestamp` headers, which StackOne maps to the event type, id, and date.</p>
      </div>
    </Step>

    <Step title="Signature">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Snyk signs every delivery with an `X-Hub-Signature` header (an HMAC-SHA256 digest of the request body using the subscription secret). StackOne routes each delivery to its matching event handler.</p>
      </div>
    </Step>
  </Steps>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.