Source Controls - Create
Creates a source control.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}?api-version=2025-09-01
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
The name of the resource group. The name is case insensitive. |
|
source
|
path | True |
string |
Source control Id |
|
subscription
|
path | True |
string (uuid) |
The ID of the target subscription. The value must be an UUID. |
|
workspace
|
path | True |
string minLength: 1maxLength: 90 pattern: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
The name of the workspace. |
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
Request Body
| Name | Required | Type | Description |
|---|---|---|---|
| properties.contentTypes | True |
Array of source control content types. |
|
| properties.displayName | True |
string |
The display name of the source control |
| properties.repoType | True |
The repository type of the source control |
|
| properties.repository | True |
Repository metadata. |
|
| etag |
string |
Etag of the azure resource |
|
| properties.description |
string |
A description of the source control |
|
| properties.repositoryAccess |
Repository access credentials. This is write-only object and it never returns back to a user. |
||
| properties.repositoryResourceInfo |
Information regarding the resources created in user's repository. |
||
| properties.servicePrincipal |
Service principal metadata. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
Updated |
|
| 201 Created |
Created |
|
| Other Status Codes |
Error response describing why the operation failed. |
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
| Name | Description |
|---|---|
| user_impersonation | impersonate your user account |
Examples
Creates or updates a source control.
Sample request
PUT https://management.azure.com/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a?api-version=2025-09-01
{
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
"displayName": "My Source Control",
"description": "This is a source control",
"repoType": "Github",
"contentTypes": [
"AnalyticsRule",
"Workbook"
],
"repository": {
"url": "https://github.com/user/repo",
"branch": "master",
"displayUrl": "https://github.com/user/repo"
},
"repositoryAccess": {
"kind": "OAuth",
"code": "939fd7c6caf754f4f41f",
"state": "state",
"clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73"
}
}
}
Sample response
{
"id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a",
"version": "V2",
"name": "789e0c1f-4a3d-43ad-809c-e713b677b04a",
"type": "Microsoft.SecurityInsights/SourceControls",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
"id": "789e0c1f-4a3d-43ad-809c-e713b677b04a",
"displayName": "My Source Control",
"description": "this is a source control",
"repoType": "Github",
"contentTypes": [
"AnalyticsRule",
"Workbook"
],
"repository": {
"url": "https://github.com/user/repo",
"branch": "master",
"displayUrl": "https://github.com/user/repo",
"deploymentLogsUrl": "https://github.com/user/repo/actions"
},
"servicePrincipal": {
"id": "6a5f9fbd-6ce5-45a5-a729-79f8943472f3",
"tenantId": "336ffe99-ff10-48fa-8c21-6da2a653dcce",
"appId": "307ef030-13ed-4342-8cc2-c11760649f4d"
},
"workloadIdentityFederation": {
"id": "c2c12197-fc2c-4880-9b18-0996ffe7aeca",
"tenantId": "336ffe99-ff10-48fa-8c21-6da2a653dcce",
"appId": "307ef030-13ed-4342-8cc2-c11760649f4d",
"subject": "repo:user/repo:ref:refs/heads/branch",
"issuer": "https://token.actions.githubusercontent.com"
},
"repositoryResourceInfo": {
"webhook": {
"webhookId": "342768323",
"webhookUrl": "https://cac.sentinel.azure.com/workspaces/eeca17ff-d744-4a8b-9f5e-1edcc3346a1d/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a",
"webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z"
},
"gitHubResourceInfo": {
"appInstallationId": "123"
},
"azureDevOpsResourceInfo": null
},
"lastDeploymentInfo": {
"deploymentFetchStatus": "Success",
"deployment": {
"deploymentId": "4985046420",
"deploymentState": "Completed",
"deploymentResult": "Success",
"deploymentTime": "2021-01-01T17:18:19.1234567Z",
"deploymentLogsUrl": "https://github.com/user/repo/actions"
},
"message": "Successful deployment"
},
"pullRequest": {
"url": "https://github.com/user/repo/pull/123",
"state": "Open"
}
},
"systemData": {
"createdBy": "user1",
"createdByType": "User",
"createdAt": "2021-01-01T17:18:19.1234567Z",
"lastModifiedBy": "user2",
"lastModifiedByType": "User",
"lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
}
}
{
"id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a",
"version": "V2",
"name": "789e0c1f-4a3d-43ad-809c-e713b677b04a",
"type": "Microsoft.SecurityInsights/SourceControls",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
"id": "789e0c1f-4a3d-43ad-809c-e713b677b04a",
"displayName": "My Source Control",
"description": "this is a source control",
"repoType": "Github",
"contentTypes": [
"AnalyticsRule",
"Workbook"
],
"repository": {
"url": "https://github.com/user/repo",
"branch": "master",
"displayUrl": "https://github.com/user/repo",
"deploymentLogsUrl": "https://github.com/user/repo/actions"
},
"servicePrincipal": {
"id": "6a5f9fbd-6ce5-45a5-a729-79f8943472f3",
"tenantId": "336ffe99-ff10-48fa-8c21-6da2a653dcce",
"appId": "307ef030-13ed-4342-8cc2-c11760649f4d"
},
"workloadIdentityFederation": {
"id": "c2c12197-fc2c-4880-9b18-0996ffe7aeca",
"tenantId": "336ffe99-ff10-48fa-8c21-6da2a653dcce",
"appId": "307ef030-13ed-4342-8cc2-c11760649f4d",
"subject": "repo:user/repo:ref:refs/heads/branch",
"issuer": "https://token.actions.githubusercontent.com"
},
"repositoryResourceInfo": {
"webhook": {
"webhookId": "342768323",
"webhookUrl": "https://cac.sentinel.azure.com/workspaces/eeca17ff-d744-4a8b-9f5e-1edcc3346a1d/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a",
"webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z"
},
"gitHubResourceInfo": {
"appInstallationId": "123"
},
"azureDevOpsResourceInfo": null
},
"lastDeploymentInfo": {
"deploymentFetchStatus": "Success",
"deployment": {
"deploymentId": "4985046420",
"deploymentState": "Completed",
"deploymentResult": "Success",
"deploymentTime": "2021-01-01T17:18:19.1234567Z",
"deploymentLogsUrl": "https://github.com/user/repo/actions"
},
"message": "Successful deployment"
},
"pullRequest": {
"url": "https://github.com/user/repo/pull/123",
"state": "Open"
}
},
"systemData": {
"createdBy": "user1",
"createdByType": "User",
"createdAt": "2021-01-01T17:18:19.1234567Z",
"lastModifiedBy": "user2",
"lastModifiedByType": "User",
"lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
}
}
Definitions
| Name | Description |
|---|---|
|
Azure |
Resources created in Azure DevOps repository. |
|
Cloud |
Error response structure. |
|
Cloud |
Error details. |
|
Content |
The content type of a source control path. |
|
created |
The type of identity that created the resource. |
| Deployment |
Description about a deployment. |
|
Deployment |
Status while trying to fetch the deployment information. |
|
Deployment |
Information regarding a deployment. |
|
Deployment |
Status while trying to fetch the deployment information. |
|
Deployment |
The current state of the deployment. |
|
Git |
Resources created in GitHub repository. |
|
Pull |
Information regarding pull request for protected branches. |
| Repository |
metadata of a repository. |
|
Repository |
Credentials to access repository. |
|
Repository |
The kind of repository access credentials |
|
Repository |
Resources created in user's repository for the source-control. |
|
Repo |
The type of repository. |
|
Service |
Service principal metadata. |
|
Source |
Represents a SourceControl in Azure Security Insights. |
| state |
State of the pull request |
|
system |
Metadata pertaining to creation and last modification of the resource. |
| Version |
The version of the source control. |
| Webhook |
Detail about the webhook object. |
|
Workload |
Workload Identity Federation metadata. |
AzureDevOpsResourceInfo
Resources created in Azure DevOps repository.
| Name | Type | Description |
|---|---|---|
| pipelineId |
string |
Id of the pipeline created for the source-control. |
| serviceConnectionId |
string |
Id of the service-connection created for the source-control. |
CloudError
Error response structure.
| Name | Type | Description |
|---|---|---|
| error |
Error data |
CloudErrorBody
Error details.
| Name | Type | Description |
|---|---|---|
| code |
string |
An identifier for the error. Codes are invariant and are intended to be consumed programmatically. |
| message |
string |
A message describing the error, intended to be suitable for display in a user interface. |
ContentType
The content type of a source control path.
| Value | Description |
|---|---|
| AnalyticsRule | |
| AutomationRule | |
| HuntingQuery | |
| Parser | |
| Playbook | |
| Workbook |
createdByType
The type of identity that created the resource.
| Value | Description |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
Deployment
Description about a deployment.
| Name | Type | Description |
|---|---|---|
| deploymentId |
string |
Deployment identifier. |
| deploymentLogsUrl |
string |
Url to access repository action logs. |
| deploymentResult |
The outcome of the deployment. |
|
| deploymentState |
Current status of the deployment. |
|
| deploymentTime |
string (date-time) |
The time when the deployment finished. |
DeploymentFetchStatus
Status while trying to fetch the deployment information.
| Value | Description |
|---|---|
| Success | |
| Unauthorized | |
| NotFound |
DeploymentInfo
Information regarding a deployment.
| Name | Type | Description |
|---|---|---|
| deployment |
Deployment information. |
|
| deploymentFetchStatus |
Status while fetching the last deployment. |
|
| message |
string |
Additional details about the deployment that can be shown to the user. |
DeploymentResult
Status while trying to fetch the deployment information.
| Value | Description |
|---|---|
| Success | |
| Canceled | |
| Failed |
DeploymentState
The current state of the deployment.
| Value | Description |
|---|---|
| In_Progress | |
| Completed | |
| Queued | |
| Canceling |
GitHubResourceInfo
Resources created in GitHub repository.
| Name | Type | Description |
|---|---|---|
| appInstallationId |
string |
GitHub application installation id. |
PullRequest
Information regarding pull request for protected branches.
| Name | Type | Description |
|---|---|---|
| state |
State of the pull request |
|
| url |
string |
URL of pull request |
Repository
metadata of a repository.
| Name | Type | Description |
|---|---|---|
| branch |
string |
Branch name of repository. |
| deploymentLogsUrl |
string |
Url to access repository action logs. |
| displayUrl |
string |
Display url of repository. |
| url |
string |
Url of repository. |
RepositoryAccess
Credentials to access repository.
| Name | Type | Description |
|---|---|---|
| clientId |
string |
OAuth ClientId. Required when |
| code |
string |
OAuth Code. Required when |
| installationId |
string |
Application installation ID. Required when |
| kind |
The kind of repository access credentials |
|
| state |
string |
OAuth State. Required when |
| token |
string |
Personal Access Token. Required when |
RepositoryAccessKind
The kind of repository access credentials
| Value | Description |
|---|---|
| OAuth | |
| PAT | |
| App |
RepositoryResourceInfo
Resources created in user's repository for the source-control.
| Name | Type | Description |
|---|---|---|
| azureDevOpsResourceInfo |
Resources created in Azure DevOps for this source-control. |
|
| gitHubResourceInfo |
Resources created in GitHub for this source-control. |
|
| webhook |
The webhook object created for the source-control. |
RepoType
The type of repository.
| Value | Description |
|---|---|
| Github | |
| AzureDevOps |
ServicePrincipal
Service principal metadata.
| Name | Type | Description |
|---|---|---|
| appId |
string |
App id of service principal. |
| credentialsExpireOn |
string (date-time) |
Expiration time of service principal credentials. |
| id |
string |
Id of service principal. |
| tenantId |
string |
Tenant id of service principal. |
SourceControl
Represents a SourceControl in Azure Security Insights.
| Name | Type | Description |
|---|---|---|
| etag |
string |
Etag of the azure resource |
| id |
string (arm-id) |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| name |
string |
The name of the resource |
| properties.contentTypes |
Array of source control content types. |
|
| properties.description |
string |
A description of the source control |
| properties.displayName |
string |
The display name of the source control |
| properties.id |
string |
The id (a Guid) of the source control |
| properties.lastDeploymentInfo |
Information regarding the latest deployment for the source control. |
|
| properties.pullRequest |
Information regarding the pull request of the source control. |
|
| properties.repoType |
The repository type of the source control |
|
| properties.repository |
Repository metadata. |
|
| properties.repositoryAccess |
Repository access credentials. This is write-only object and it never returns back to a user. |
|
| properties.repositoryResourceInfo |
Information regarding the resources created in user's repository. |
|
| properties.servicePrincipal |
Service principal metadata. |
|
| properties.version |
The version number associated with the source control |
|
| properties.workloadIdentityFederation |
Workload Identity metadata. |
|
| systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
|
| type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
state
State of the pull request
| Value | Description |
|---|---|
| Open | |
| Closed |
systemData
Metadata pertaining to creation and last modification of the resource.
| Name | Type | Description |
|---|---|---|
| createdAt |
string (date-time) |
The timestamp of resource creation (UTC). |
| createdBy |
string |
The identity that created the resource. |
| createdByType |
The type of identity that created the resource. |
|
| lastModifiedAt |
string (date-time) |
The timestamp of resource last modification (UTC) |
| lastModifiedBy |
string |
The identity that last modified the resource. |
| lastModifiedByType |
The type of identity that last modified the resource. |
Version
The version of the source control.
| Value | Description |
|---|---|
| V1 | |
| V2 |
Webhook
Detail about the webhook object.
| Name | Type | Description |
|---|---|---|
| rotateWebhookSecret |
boolean |
A flag to instruct the backend service to rotate webhook secret. |
| webhookId |
string |
Unique identifier for the webhook. |
| webhookSecretUpdateTime |
string (date-time) |
Time when the webhook secret was updated. |
| webhookUrl |
string |
URL that gets invoked by the webhook. |
WorkloadIdentityFederation
Workload Identity Federation metadata.
| Name | Type | Description |
|---|---|---|
| appId |
string |
App id of Workload Identity Federation. |
| id |
string |
Id of Workload Identity Federation. |
| issuer |
string |
Issuer of Workload Identity Federation. |
| subject |
string |
Subject of Workload Identity Federation. |
| tenantId |
string |
Tenant id of Workload Identity Federation. |