IndustryData-SourceSystem.ReadWrite.All
Allows the app to read and write source system definitions without a signed-in user.
Permission Details
Manage source system definitions
Allows the app to read and write source system definitions without a signed-in user.
7d866958-e06e-4dd6-91c6-a086b3f5cfeb
Manage source system definitions
Allows the app to read and write source system definitions on behalf of the signed-in user.
9599f005-05d6-4ea7-b1b1-4929768af5d0
Properties
Properties is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
| Property | Type | Description |
|---|---|---|
connections |
externalConnection collection |
|
id |
string |
The unique identifier for an entity. Read-only. |
JSON Representation
JSON representation is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
{
"connections": [
{
"@type": "externalConnection",
"id": "00000000-0000-0000-0000-000000000000"
}
],
"id": "String"
}
Relationships
Relationships is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
| Relationship | Type | Description |
|---|---|---|
connections |
externalConnection collection |
Related connections data exposed by this resource. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
No API methods available for this version.
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsMicrosoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Code Examples
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.IndustryData;
var requestBody = new SourceSystemDefinition
{
DisplayName = "Rostering source",
UserMatchingSettings = new List<UserMatchingSetting>
{
new UserMatchingSetting
{
MatchTarget = new UserMatchTargetReferenceValue
{
Code = "userPrincipalName",
},
PriorityOrder = 0,
SourceIdentifier = new IdentifierTypeReferenceValue
{
Code = "username",
},
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/beta/external/industryData/roleGroups/staff"
},
},
},
new UserMatchingSetting
{
MatchTarget = new UserMatchTargetReferenceValue
{
Code = "userPrincipalName",
},
PriorityOrder = 1,
SourceIdentifier = new IdentifierTypeReferenceValue
{
Code = "username",
},
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/beta/external/industryData/roleGroups('students')"
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.External.IndustryData.SourceSystems.PostAsync(requestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const sourceSystemDefinition = {
displayName: 'Rostering source',
userMatchingSettings: [
{
matchTarget: {
code: 'userPrincipalName'
},
priorityOrder: 0,
'[email protected]': 'https://graph.microsoft.com/beta/external/industryData/roleGroups/staff',
sourceIdentifier: {
code: 'username'
}
},
{
matchTarget: {
code: 'userPrincipalName'
},
priorityOrder: 1,
'[email protected]': 'https://graph.microsoft.com/beta/external/industryData/roleGroups(\'students\')',
sourceIdentifier: {
code: 'username'
}
}
]
};
await client.api('/external/industryData/sourceSystems')
.version('beta')
.post(sourceSystemDefinition);
Import-Module Microsoft.Graph.Beta.Search
$params = @{
displayName = "Rostering source"
userMatchingSettings = @(
@{
matchTarget = @{
code = "userPrincipalName"
}
priorityOrder = 0
"[email protected]" = "https://graph.microsoft.com/beta/external/industryData/roleGroups/staff"
sourceIdentifier = @{
code = "username"
}
}
@{
matchTarget = @{
code = "userPrincipalName"
}
priorityOrder = 1
"[email protected]" = "https://graph.microsoft.com/beta/external/industryData/roleGroups('students')"
sourceIdentifier = @{
code = "username"
}
}
)
}
New-MgBetaExternalIndustryDataSourceSystem -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.industry_data.source_system_definition import SourceSystemDefinition
from msgraph_beta.generated.models.industry_data.user_matching_setting import UserMatchingSetting
from msgraph_beta.generated.models.industry_data.user_match_target_reference_value import UserMatchTargetReferenceValue
from msgraph_beta.generated.models.industry_data.identifier_type_reference_value import IdentifierTypeReferenceValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SourceSystemDefinition(
display_name = "Rostering source",
user_matching_settings = [
UserMatchingSetting(
match_target = UserMatchTargetReferenceValue(
code = "userPrincipalName",
),
priority_order = 0,
source_identifier = IdentifierTypeReferenceValue(
code = "username",
),
additional_data = {
"role_group@odata_bind" : "https://graph.microsoft.com/beta/external/industryData/roleGroups/staff",
}
),
UserMatchingSetting(
match_target = UserMatchTargetReferenceValue(
code = "userPrincipalName",
),
priority_order = 1,
source_identifier = IdentifierTypeReferenceValue(
code = "username",
),
additional_data = {
"role_group@odata_bind" : "https://graph.microsoft.com/beta/external/industryData/roleGroups('students')",
}
),
],
)
result = await graph_client.external.industry_data.source_systems.post(request_body)
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or delegated permissions and search for IndustryData-SourceSystem.ReadWrite.All
Grant Admin Consent
Application permissions always require admin consent.