---
title: "ListSCMIntegrations"
method: POST
path: "/gitpod.v1.RunnerConfigurationService/ListSCMIntegrations"
tags: ["gitpod.v1.RunnerConfigurationService"]
---

# ListSCMIntegrations

`POST /gitpod.v1.RunnerConfigurationService/ListSCMIntegrations`

Lists SCM integrations for a runner.

 Use this method to:
 - View all integrations
 - Monitor integration status
 - Check available SCMs

 ### Examples

 - List integrations:

   Shows all SCM integrations.

   ```yaml
   filter:
     runnerIds: ["d2c94c27-3b76-4a42-b88c-95a85e392c68"]
   pagination:
     pageSize: 20
   ```

## Query parameters

- `pageSize` integer
- `token` string

## Request body

- GitpodV1ListSCMIntegrationsRequest
  - `filter` GitpodV1ListSCMIntegrationsRequestFilter
    - `runnerIds` string[] — runner_ids filters the response to only SCM integrations of these Runner IDs
  - `pagination` GitpodV1PaginationRequest
    - `pageSize` integer — Page size is the maximum number of results to retrieve per page. Defaults to 25. Maximum 100.
    - `token` string — Token for the next set of results that was returned as next_token of a PaginationResponse

## Response `200`

Success

- GitpodV1ListSCMIntegrationsResponse
  - `integrations` GitpodV1SCMIntegration[]
    - `host` string
    - `id` string — id is the unique identifier of the SCM integration
    - `oauth` GitpodV1SCMIntegrationOAuthConfig
      - `clientId` string — client_id is the OAuth app's client ID in clear text.
      - `encryptedClientSecret` string, byte — encrypted_client_secret is the OAuth app's secret encrypted with the runner's public key.
      - `issuerUrl` string — issuer_url is used to override the authentication provider URL, if it doesn't match the SCM host. +optional if not set, this account is owned by the installation.
    - `pat` boolean
    - `runnerId` string
    - `scmId` string — scm_id references the scm_id in the runner's configuration schema that this integration is for
    - `virtualDirectory` string, nullable — virtual_directory is the virtual directory path for Azure DevOps Server (e.g., "/tfs"). This field is only used for Azure DevOps Server SCM integrations and should be empty for other SCM types. Azure DevOps Server APIs work without collection when PAT scope is 'All accessible organizations'.
  - `pagination` GitpodV1PaginationResponse
    - `nextToken` string — Token passed for retrieving the next set of results. Empty if there are no more results

## Other responses

- `default` — Error

---

[API](https://skmtc.net/gitpod-io/apis/gitpod-v1.md) · [All operations](https://skmtc.net/gitpod-io/apis/gitpod-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gitpod-io/gitpod-v1/revisions/44d50c2ac284/schema)
