Skip to content

classificationRuleCollections

Custom Sensitive Info Types. Uploaded rule packages defining custom sensitive information types for DLP. The classificationRuleCollections entity set lives under /exchange/v1.0/classificationRuleCollections in the Governance & protection category.

Fact Value
Path /exchange/v1.0/classificationRuleCollections
Category Governance & protection
Tier Tier 5, Compliance
Read role Compliance.IPPS.Read.All (Community)
Write role Compliance.IPPS.ReadWrite.All (Enterprise)
Backing cmdlets Get-ClassificationRuleCollection, Set-ClassificationRuleCollection, New-ClassificationRuleCollection, Remove-ClassificationRuleCollection
Method Path Synopsis Role Plan
GET /exchange/v1.0/classificationRuleCollections List classification rule collections - tenant-installed XML packages of custom sensitive-info-type rules. Compliance.IPPS.Read Community
POST /exchange/v1.0/classificationRuleCollections POST /classificationRuleCollections - upload a new collection. Body: { “fileData”: “<base64-encoded classification-rule-XML>” }. The Name is embedded in the XML. Returns 204 on success (no Location header - the cmdlet doesn’t surface the new collection’s identity in its return value). Compliance.IPPS.ReadWrite Enterprise
PUT /exchange/v1.0/classificationRuleCollections PUT /classificationRuleCollections - replace the collection with new XML. Body: { “fileData”: “<base64-encoded XML>” }. The Name is embedded in the XML. Returns 204. Compliance.IPPS.ReadWrite Enterprise
GET /exchange/v1.0/classificationRuleCollections/{key} Get a single classification rule collection by Identity. Returns 404 if absent. Compliance.IPPS.Read Community
DELETE /exchange/v1.0/classificationRuleCollections/{key} DELETE /classificationRuleCollections/{key} - remove a collection by Name. Returns 204. Compliance.IPPS.ReadWrite Enterprise

GET /exchange/v1.0/classificationRuleCollections

Section titled “GET /exchange/v1.0/classificationRuleCollections”

List classification rule collections - tenant-installed XML packages of custom sensitive-info-type rules.

Backing cmdlet: Get-ClassificationRuleCollection. Role: Compliance.IPPS.Read (Community).

POST /exchange/v1.0/classificationRuleCollections

Section titled “POST /exchange/v1.0/classificationRuleCollections”

POST /classificationRuleCollections - upload a new collection. Body: { “fileData”: “<base64-encoded classification-rule-XML>” }. The Name is embedded in the XML. Returns 204 on success (no Location header - the cmdlet doesn’t surface the new collection’s identity in its return value).

Backing cmdlet: New-ClassificationRuleCollection. Role: Compliance.IPPS.ReadWrite (Enterprise).

Parameter In Type Required Description
fileData body yes
dryRun query bool (switch)

Upload a custom Transport classification rule collection via New-ClassificationRuleCollection. Body: a single fileData field carrying the base64-encoded rule-collection XML. The collection’s Name, Version, and all DocumentIdMatch entries live INSIDE the XML - there is no separate name field. The controller base64-decodes the string into Byte[] before invoking the cmdlet (FileData-only cmdlet pattern; same Byte[] convention as DlpEdmSchema). The cmdlet returns no entity, so the controller returns 204; subsequent GET /classificationRuleCollections lists the new entry. EXO-pool - Wiki applicable: Exchange Online (NOT IPPS).

POST /exchange/v1.0/classificationRuleCollections HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
{
"fileData": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTE2Ij8+PHJ1bGVQYWNrYWdlIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDExL21jZSI+Li4uPC9ydWxlUGFja2FnZT4="
}
HTTP/1.1 204 No Content

Related: GET /exchange/v1.0/classificationRuleCollections, PUT /exchange/v1.0/classificationRuleCollections, DELETE /exchange/v1.0/classificationRuleCollections/{key}

PUT /exchange/v1.0/classificationRuleCollections

Section titled “PUT /exchange/v1.0/classificationRuleCollections”

PUT /classificationRuleCollections - replace the collection with new XML. Body: { “fileData”: “<base64-encoded XML>” }. The Name is embedded in the XML. Returns 204.

Backing cmdlet: Set-ClassificationRuleCollection. Role: Compliance.IPPS.ReadWrite (Enterprise).

Parameter In Type Required Description
fileData body yes
dryRun query bool (switch)

Replace a classification rule collection with new XML

Section titled “Replace a classification rule collection with new XML”

Replaces a tenant-installed classification rule collection by uploading a fresh base64-encoded XML payload (the collection name and all DocumentIdMatch entries are embedded in the XML). Backed by Set-ClassificationRuleCollection.

PUT /exchange/v1.0/classificationRuleCollections HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
{
"fileData": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTE2Ij8+PFJ1bGVQYWNrYWdlIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDExLzEwL3NlYXJjaC9SdWxlUGFja2FnZSI+PFJ1bGVQYWNrIGlkPSJhdGhlbmFvbmUtc2FtcGxlLWNsYXNzaWZpY2F0aW9uUnVsZUNvbGxlY3Rpb25zIi8+PC9SdWxlUGFja2FnZT4="
}
HTTP/1.1 204 No Content

Notes: Doc-derived from Wiki + write-param allowlist; not live-captured. Body fields are Wiki-valid; values are illustrative. PUT is an atomic replace of the entire XML rule collection (Set-ClassificationRuleCollection accepts only -FileData); the controller base64-decodes fileData to Byte[] before invocation and returns 204 No Content.

Related: GET /exchange/v1.0/classificationRuleCollections

GET /exchange/v1.0/classificationRuleCollections/{key}

Section titled “GET /exchange/v1.0/classificationRuleCollections/{key}”

Get a single classification rule collection by Identity. Returns 404 if absent.

Backing cmdlet: Get-ClassificationRuleCollection. Role: Compliance.IPPS.Read (Community).

DELETE /exchange/v1.0/classificationRuleCollections/{key}

Section titled “DELETE /exchange/v1.0/classificationRuleCollections/{key}”

DELETE /classificationRuleCollections/{key} - remove a collection by Name. Returns 204.

Backing cmdlet: Remove-ClassificationRuleCollection. Role: Compliance.IPPS.ReadWrite (Enterprise).

Parameter In Type Required Description
dryRun query bool (switch)

Removes a tenant-installed classification rule collection by Name. Backed by Remove-ClassificationRuleCollection.

DELETE /exchange/v1.0/classificationRuleCollections/{key} HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
HTTP/1.1 204 No Content

Notes: Doc-derived from Wiki + write-param allowlist; not live-captured. The {key} is the collection Name (e.g. exonaut-sample-classificationRuleCollections). Returns 204 No Content on success.

Related: GET /exchange/v1.0/classificationRuleCollections

?dryRun=true previews of any write stay on Community.