Namespace: microsoft.graph.ediscovery
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Create a new sourceCollection object.
This API is available in the following national cloud deployments.
Global service |
US Government L4 |
US Government L5 (DOD) |
China operated by 21Vianet |
✅ |
❌ |
❌ |
❌ |
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
Permission type |
Least privileged permissions |
Higher privileged permissions |
Delegated (work or school account) |
eDiscovery.Read.All |
eDiscovery.ReadWrite.All |
Delegated (personal Microsoft account) |
Not supported. |
Not supported. |
Application |
eDiscovery.Read.All |
eDiscovery.ReadWrite.All |
HTTP request
POST /compliance/ediscovery/cases/{caseId}/sourceCollections
Request body
In the request body, supply a JSON representation of the sourceCollection object.
The following table lists the properties that are required when you create the sourceCollection.
Property |
Type |
Description |
dataSourceScopes |
microsoft.graph.ediscovery.dataSourceScopes |
When specified, the collection will span across a service for an entire workload. Possible values are: none ,allTenantMailboxes ,allTenantSites ,allCaseCustodians ,allCaseNoncustodialDataSources . Note: Either one custodian or specifying dataSourceScope is required when creating a source collection. |
displayName |
String |
The display name of the sourceCollection |
custodianSources |
microsoft.graph.ediscovery.dataSource collection |
The custodian sources to include in this search. You can get the URL from from custodian siteSources, unifiedGroupSources, or userSources plus the ID of the source. Note: Either one custodian or specifying tenant source is required when creating a source collection. |
Response
If successful, this method returns a 201 Created
response code and a microsoft.graph.ediscovery.sourceCollection object in the response body.
Examples
Request
POST https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/sourceCollections
Content-Type: application/json
{
"displayName": "Quarterly Financials search",
"contentQuery": "subject:'Quarterly Financials'",
"custodianSources@odata.bind": [
"https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735"
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.Ediscovery;
var requestBody = new SourceCollection
{
DisplayName = "Quarterly Financials search",
ContentQuery = "subject:'Quarterly Financials'",
AdditionalData = new Dictionary<string, object>
{
{
"custodianSources@odata.bind" , new List<string>
{
"https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735",
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Compliance.Ediscovery.Cases["{case-id}"].SourceCollections.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodelsediscovery "github.com/microsoftgraph/msgraph-beta-sdk-go/models/ediscovery"
//other-imports
)
requestBody := graphmodelsediscovery.NewSourceCollection()
displayName := "Quarterly Financials search"
requestBody.SetDisplayName(&displayName)
contentQuery := "subject:'Quarterly Financials'"
requestBody.SetContentQuery(&contentQuery)
additionalData := map[string]interface{}{
odataBind := []string {
"https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735",
}
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
sourceCollections, err := graphClient.Compliance().Ediscovery().Cases().ByCaseId("case-id").SourceCollections().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.models.ediscovery.SourceCollection sourceCollection = new com.microsoft.graph.beta.models.ediscovery.SourceCollection();
sourceCollection.setDisplayName("Quarterly Financials search");
sourceCollection.setContentQuery("subject:'Quarterly Financials'");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> custodianSourcesOdataBind = new LinkedList<String>();
custodianSourcesOdataBind.add("https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735");
additionalData.put("custodianSources@odata.bind", custodianSourcesOdataBind);
sourceCollection.setAdditionalData(additionalData);
com.microsoft.graph.models.ediscovery.SourceCollection result = graphClient.compliance().ediscovery().cases().byCaseId("{case-id}").sourceCollections().post(sourceCollection);
const options = {
authProvider,
};
const client = Client.init(options);
const sourceCollection = {
displayName: 'Quarterly Financials search',
contentQuery: 'subject:\'Quarterly Financials\'',
'custodianSources@odata.bind': [
'https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735'
]
};
await client.api('/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/sourceCollections')
.version('beta')
.post(sourceCollection);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Ediscovery\SourceCollection;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SourceCollection();
$requestBody->setDisplayName('Quarterly Financials search');
$requestBody->setContentQuery('subject:\'Quarterly Financials\'');
$additionalData = [
'custodianSources@odata.bind' => [
'https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735', ],
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->compliance()->ediscovery()->cases()->byCaseId('case-id')->sourceCollections()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Compliance
$params = @{
displayName = "Quarterly Financials search"
contentQuery = "subject:'Quarterly Financials'"
"custodianSources@odata.bind" = @(
"https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735"
)
}
New-MgBetaComplianceEdiscoveryCaseSourceCollection -CaseId $caseId -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.ediscovery.source_collection import SourceCollection
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SourceCollection(
display_name = "Quarterly Financials search",
content_query = "subject:'Quarterly Financials'",
additional_data = {
"custodian_sources@odata_bind" : [
"https://graph.microsoft.com/beta/compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/custodians/2192ca408ea2410eba3bec8ae873be6b/userSources/46384443-4137-3032-3437-363939433735",
],
}
)
result = await graph_client.compliance.ediscovery.cases.by_case_id('case-id').source_collections.post(request_body)
Response
Note: The response object shown here might be shortened for readability.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#compliance/ediscovery/cases/47746044-fd0b-4a30-acfc-5272b691ba5b/sourceCollections/$entity",
"description": null,
"lastModifiedDateTime": "2021-01-12T18:09:03.7378679Z",
"contentQuery": "subject:'Quarterly Financials'",
"dataSourceScopes": "none",
"id": "1a9b4145d8f84e39bc45a7f68c5c5119",
"displayName": "Quarterly Financials search",
"createdDateTime": "2021-01-12T18:09:03.417009Z",
"createdBy": {
"user": {
"id": "c1db6f13-332a-4d84-b111-914383ff9fc9",
"displayName": "EDisco Admin",
"userPrincipalname": "admin@contoso.com"
}
},
"lastModifiedBy": {
"user": {
"id": "c1db6f13-332a-4d84-b111-914383ff9fc9",
"displayName": "EDisco Admin",
"userPrincipalname": "admin@contoso.com"
}
}
}