> ## 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 OAuth 2.0 (Service Account) connector profile – StackOne setup guide

> Set up a connector profile using OAuth 2.0 (Service Account) for Snyk in StackOne to allow users to link their accounts.

> [!WARNING]
>
> Service accounts using OAuth 2.0 require an Enterprise plan and are created via the Snyk API, using an existing Auth Token or Personal Access Token with permission to manage service accounts.

## Find your Snyk region

Snyk hosts accounts in several regional data centers, and a service account only\
authenticates against its own region. Your region is shown in your browser's address\
bar whenever you are signed in to Snyk — it is the host in the URL, the part between\
`https://` and the first `/`. Match that host to the **Region** you select below.

<ul>
  <li>Sign in to Snyk and look at your browser's address bar.</li>
  <li>`app.snyk.io` → **US (SNYK-US-01)** — api.snyk.io</li>
  <li>`app.us.snyk.io` → **US (SNYK-US-02)** — api.us.snyk.io</li>
  <li>`app.eu.snyk.io` → **EU (SNYK-EU-01)** — api.eu.snyk.io</li>
  <li>`app.au.snyk.io` → **AU (SNYK-AU-01)** — api.au.snyk.io</li>
</ul>

## Create a service account

Create the service account at the Group or Organization level, using an Auth Token or\
Personal Access Token you already have.

**1. Create the service account**

Send a request to create the service account, replacing `<group_or_org_id>`,\
`<your-region-api-host>`, `<your_token>`, and `<role_id>` with your Group or\
Organization ID, region API host, existing token, and the role to assign:

```bash theme={null}
curl -X POST 'https://<your-region-api-host>/rest/groups/<group_or_org_id>/service_accounts?version=2026-03-25' \
  -H 'Authorization: token <your_token>' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
    "data": {
      "attributes": {
        "name": "StackOne Integration",
        "auth_type": "oauth_client_credentials",
        "role_id": "<role_id>"
      }
    }
  }'
```

<ul>
  <li>`name` — a descriptive name for the service account, such as `StackOne Integration`.</li>
  <li>`auth_type` — must be `oauth_client_credentials` to get a Client ID and Client Secret instead of a legacy API key.</li>
  <li>`role_id` — the role to assign. This determines everything the token can do; Snyk documents no separate OAuth scopes for service accounts.</li>
</ul>

**2. Copy the Client ID and Client Secret**

The response returns the service account's credentials under `data.attributes`.

<ul>
  <li>Copy the **Client ID** (`client_id` in the response) into your Connector Profile.</li>
  <li>Copy the **Client Secret** (`client_secret` in the response) into your Connector Profile — it is returned only once and cannot be retrieved later.</li>
</ul>

## Create the StackOne Connector Profile

**1. Create a Connector Profile**

Enable the connector and create a Connector Profile in your project. See [Setup Connector Profile](https://docs.stackone.com/gateway/quickstart.md#setup-connector-profile).

**2. Link an Account**

Once the Connector Profile is created, continue to [link an account](https://docs.stackone.com/connectors/snyk/guides/link-account/oauth-2-0-service-account.md).


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