---
title: "Create Azure DevOps SCM App (Service Principal)"
method: POST
path: "/api/scm/ado_app"
tags: ["ScmAppsService"]
---

# Create Azure DevOps SCM App (Service Principal)

`POST /api/scm/ado_app`

Create an ADO ScmApp using Entra ID Service Principal credentials. Generates a key pair server-side and returns the public certificate for the customer to upload to their Entra app registration. CompleteAdoScmAppInstall must be called to finish the install after the certificate is uploaded.

## Request body

- ProtosScmV1CreateAdoScmAppRequest
  - `deploymentId` string
  - `baseUrl` string
  - `tenantId` string
  - `clientId` string
  - `organizationName` string
  - `projectName` string

## Response `200`

OK

- ProtosScmV1CreateAdoScmAppResponse
  - `scmAppId` string
  - `publicCertificatePem` string — Public certificate (PEM) the customer uploads to their Entra app registration.

---

[API](https://skmtc.net/semgrep/apis/semgrep-web-app.md) · [All operations](https://skmtc.net/semgrep/apis/semgrep-web-app/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/semgrep/semgrep-web-app/versions/6483eeecd582/schema)
