transportConfig
Transport Settings. Organization-wide mail flow and transport configuration settings. The transportConfig singleton lives under /exchange/v1.0/transportConfig in the Mail flow category.
| Fact | Value |
|---|---|
| Path | /exchange/v1.0/transportConfig |
| Category | Mail flow |
| Tier | Tier 9, Hybrid and organization |
| Read role | OrganizationConfig.Read.All (Community) |
| Write role | OrganizationConfig.ReadWrite.All (Enterprise) |
| Backing cmdlets | Get-TransportConfig, Set-TransportConfig |
Routes
Section titled “Routes”| Method | Path | Synopsis | Role | Plan |
|---|---|---|---|---|
| GET | /exchange/v1.0/transportConfig |
Read the tenant’s transportConfig singleton. | OrganizationConfig.Read |
Community |
| PATCH | /exchange/v1.0/transportConfig |
Partial update of the transportConfig singleton via Set-TransportConfig. Body keys map 1:1 to cmdlet params (camelCased). Returns 200 + the post-Set entity. | OrganizationConfig.ReadWrite |
Enterprise |
GET /exchange/v1.0/transportConfig
Section titled “GET /exchange/v1.0/transportConfig”Read the tenant’s transportConfig singleton.
Backing cmdlet: Get-TransportConfig. Role: OrganizationConfig.Read (Community).
Get the organization transport configuration
Section titled “Get the organization transport configuration”Returns the tenant-wide transport (mail flow) configuration singleton, including DSN behavior, message size limits, journaling, transport-rule limits, and reply-all storm protection. Backed by the Get-TransportConfig cmdlet.
GET /exchange/v1.0/transportConfig HTTP/1.1Authorization: Bearer {token}HTTP/1.1 200 OK
{ "@odata.context": "http://localhost:5043/exchange/v1.0/$metadata#transportConfig", "Id": "Transport Settings", "Name": "Transport Settings", "Identity": "Transport Settings", "DistinguishedName": "CN=Transport Settings,CN=Configuration,CN=contoso.onmicrosoft.com,CN=ConfigurationUnits,DC=EURPR01A017,DC=PROD,DC=OUTLOOK,DC=COM", "Guid": "b68529c3-2904-4074-ba5e-61472e14e722", "ExchangeObjectId": "0693a0a1-31cc-48e6-a781-78e634c3401f", "MaxRecipientEnvelopeLimit": 0, "MaxReceiveSize": 0, "MaxSendSize": 0, "MaxRetriesForLocalSiteShadow": 0, "MaxRetriesForRemoteSiteShadow": 0, "ShadowMessageAutoDiscardInterval": null, "ShadowHeartbeatRetryCount": null, "JournalingReportNdrTo": 0, "ConvertReportToMessage": null, "ExternalDsnSendHtml": true, "InternalDsnSendHtml": true, "ExternalDsnLanguageDetectionEnabled": "True", "InternalDsnLanguageDetectionEnabled": "True", "ExternalDsnDefaultLanguage": null, "InternalDsnDefaultLanguage": null, "ExternalDelayDsnEnabled": "True", "InternalDelayDsnEnabled": "True", "ExternalDsnMaxMessageAttachSize": "10 MB (10,485,760 bytes)", "InternalDsnMaxMessageAttachSize": "10 MB (10,485,760 bytes)", "OpenDomainRoutingEnabled": false, "DSNConversionMode": false, "VoicemailJournalingEnabled": true, "InternalSMTPServers": [], "GenerateCopyOfDSNFor": [], "JournalingReportNdrToAddress": null, "Rfc2231EncodingEnabled": false, "SmtpClientAuthenticationDisabled": true, "AddressRewriteEnabled": false, "AcceptedDomain": [], "HeaderPromotionModeSetting": "NoCreate", "Rfc5965PinEnabled": null, "RejectMessageOnX400OriginatorMismatch": null, "SafetyNetHoldTime": "7.00:00:00", "ReplyAllStormBlockDurationHours": "6", "ReplyAllStormDetectionMinimumReplies": "10", "ReplyAllStormDetectionMinimumRecipients": "2500", "ReplyAllStormProtectionEnabled": true, "OrganizationalUnitRoot": "contoso.onmicrosoft.com", "OrganizationId": "EURPR01A017.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/contoso.onmicrosoft.com - EURPR01A017.PROD.OUTLOOK.COM/ConfigurationUnits/contoso.onmicrosoft.com/Configuration", "ExchangeVersion": "0.1 (8.0.535.0)", "ObjectCategory": "EURPR01A017.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-Transport-Settings", "ObjectClass": [ "top", "container", "msExchTransportSettings" ], "OriginatingServer": "VI1PR01A17DC001.EURPR01A017.PROD.OUTLOOK.COM", "ObjectState": "Unchanged", "IsValid": true, "WhenCreated": "2026-03-30T17:01:11+03:00", "WhenChanged": "2026-03-30T17:01:18+03:00", "WhenCreatedUTC": "2026-03-30T14:01:11Z", "WhenChangedUTC": "2026-03-30T14:01:18Z", "AddressBookPolicyRoutingEnabled": false, "AdminDisplayName": "", "AgentGeneratedMessageLoopDetectionInSmtpEnabled": true, "AgentGeneratedMessageLoopDetectionInSubmissionEnabled": true, "AllowLegacyTLSClients": false, "AnonymousSenderToRecipientRatePerHour": 1800, "AttributionRejectBeforeMServRequest": false, "AttributionRejectConsumerMessages": false, "ClearCategories": true, "ConvertDisclaimerWrapperToEml": false, "DiagnosticsAggregationServicePort": 9710, "EnableExternalHTTPMailDelivery": false, "ExternalDsnReportingAuthority": null, "ExternalPostmasterAddress": null, "HygieneSuite": "Premium", "InternalDsnReportingAuthority": null, "JournalArchivingEnabled": false, "JournalMessageExpirationDays": 0, "JournalReportDLMemberSubstitutionEnabled": false, "LegacyArchiveJournalingEnabled": false, "LegacyArchiveLiveJournalingEnabled": false, "LegacyJournalingMigrationEnabled": false, "MaxAllowedAgentGeneratedMessageDepth": 3, "MaxAllowedAgentGeneratedMessageDepthPerAgent": 2, "MaxDumpsterSizePerDatabase": "18 MB (18,874,368 bytes)", "MaxDumpsterTime": "7.00:00:00", "MessageExpiration": "1.00:00:00", "MigrationEnabled": true, "OrganizationFederatedMailbox": "FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042@contoso.com", "OtherWellKnownObjects": [], "PreserveReportBodypart": true, "PreventDuplicateJournalingEnabled": false, "QueueDiagnosticsAggregationInterval": "00:01:00", "RedirectDLMessagesForLegacyArchiveJournaling": false, "RedirectUnprovisionedUserMessagesForLegacyArchiveJournaling": false, "SupervisionTags": [ "Allow", "Reject" ], "TLSReceiveDomainSecureList": [], "TLSSendDomainSecureList": [], "TransportRuleAttachmentTextScanLimit": "1 MB (1,048,576 bytes)", "TransportRuleCollectionAddedRecipientsLimit": 100, "TransportRuleCollectionRegexCharsLimit": "20 KB (20,480 bytes)", "TransportRuleConfig": "TransportRuleCollectionAddedRecipientsLimit:100 TransportRuleLimit:300 TransportRuleCollectionRegexCharsLimit:20 KB (20,480 bytes) TransportRuleSizeLimit:8 KB (8,192 bytes) TransportRuleAttachmentTextScanLimit:1 MB (1,048,576 bytes) TransportRuleRegexValidationTimeout:00:00:00.3000000 TransportRuleMinProductVersion:14.0.0.0", "TransportRuleLimit": 300, "TransportRuleMinProductVersion": "14.0.0.0", "TransportRuleRegexValidationTimeout": "00:00:00.3000000", "TransportRuleSizeLimit": "8 KB (8,192 bytes)", "VerifySecureSubmitEnabled": false, "Xexch50Enabled": true}Notes: transportConfig is a tenant singleton: there is exactly one instance per organization and it is addressed without a key. The backing Get-TransportConfig cmdlet returns no Identity argument.
PATCH /exchange/v1.0/transportConfig
Section titled “PATCH /exchange/v1.0/transportConfig”Partial update of the transportConfig singleton via Set-TransportConfig. Body keys map 1:1 to cmdlet params (camelCased). Returns 200 + the post-Set entity.
TENANT-WIDE impact - changes tenant defaults that every recipient inherits unless overridden per-mailbox. Practical use cases the allowlist supports: tenant-wide message size limits (maxReceiveSize, maxSendSize, maxRecipientEnvelopeLimit), external postmaster address, journaling NDR routing + retention, ReplyAll-storm protection, SMTP AUTH legacy-disable, internal SMTP server header preservation, TLS legacy-client allowlist, DSN HTML formatting. The Wiki documents ~60 settable params on this cmdlet; the API exposes ~20 cloud-applicable ones (see ). On-prem replication/dumpster/shadow params (Shadow*, MaxDumpsterSizePerDatabase, MaxRetriesForLocalSiteShadow) are intentionally omitted.Singleton PATCH - no URL key. Pass ?dryRun=true for a -WhatIf preview.
Backing cmdlet: Set-TransportConfig. Role: OrganizationConfig.ReadWrite (Enterprise).
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
addressBookPolicyRoutingEnabled |
body | |||
allowLegacyTLSClients |
body | |||
clearCategories |
body | |||
convertDisclaimerWrapperToEml |
body | |||
dsnConversionMode |
body | |||
externalDelayDsnEnabled |
body | |||
externalDsnDefaultLanguage |
body | |||
externalDsnLanguageDetectionEnabled |
body | |||
externalDsnReportingAuthority |
body | |||
externalDsnSendHtml |
body | |||
externalPostmasterAddress |
body | |||
headerPromotionModeSetting |
body | |||
internalDelayDsnEnabled |
body | |||
internalDsnDefaultLanguage |
body | |||
internalDsnLanguageDetectionEnabled |
body | |||
internalDsnReportingAuthority |
body | |||
internalDsnSendHtml |
body | |||
internalSMTPServers |
body | |||
journalingReportNdrTo |
body | |||
journalMessageExpirationDays |
body | |||
maxReceiveSize |
body | |||
maxRecipientEnvelopeLimit |
body | |||
maxSendSize |
body | |||
messageExpiration |
body | |||
preventDuplicateJournalingEnabled |
body | |||
replyAllStormBlockDurationHours |
body | |||
replyAllStormDetectionMinimumRecipients |
body | |||
replyAllStormDetectionMinimumReplies |
body | |||
replyAllStormProtectionEnabled |
body | |||
rfc2231EncodingEnabled |
body | |||
smtpClientAuthenticationDisabled |
body | |||
verifySecureSubmitEnabled |
body | |||
dryRun |
query | bool (switch) |
Update tenant-wide transport configuration
Section titled “Update tenant-wide transport configuration”Partial update of the transportConfig singleton via Set-TransportConfig. Body keys map 1:1 to the cmdlet’s cloud-applicable params (camelCased); changes are tenant-wide defaults that every recipient inherits unless overridden per-mailbox. Returns the post-Set entity.
PATCH /exchange/v1.0/transportConfig HTTP/1.1Authorization: Bearer {token}Content-Type: application/json
{ "externalPostmasterAddress": "postmaster@contoso.com", "maxReceiveSize": "150 MB", "smtpClientAuthenticationDisabled": true}HTTP/1.1 200 OKContent-Type: application/json; odata.metadata=minimal
{ "Identity": "Transport Settings", "Id": "Transport Settings", "ExternalPostmasterAddress": "postmaster@contoso.com", "MaxReceiveSize": "150 MB (157,286,400 bytes)", "SmtpClientAuthenticationDisabled": true}Notes: Doc-derived from Wiki + write-param allowlist; not live-captured. Body fields are Wiki-valid; values are illustrative. transportConfig is a tenant singleton: PATCH takes no URL key. Pass ?dryRun=true for a Set-TransportConfig -WhatIf preview.
Related: GET /exchange/v1.0/transportConfig
?dryRun=true previews of any write stay on Community.

