Skip to content

General Information

All operations require authentication.

17 operationsv1/email/exchange · /msServices · /msServices/{serviceName}
Agent setup

List Exchange organizationsProduction

GET
/1.0/email/exchange

List Exchange organizations. Returns the names of the Exchange organizations of the account. Each organization holds one or more services.

Response

200string[]successful operation

Reads your token from $OVH_TOKEN

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ "string"]

List Exchange servicesProduction

GET
/1.0/email/exchange/{organizationName}/service

List Exchange services. Returns the names of the Exchange services of the organization. Filter them by IAM tags with iamTags.

Path parameters

organizationName
required
string

The internal name of your exchange organization

Query parameters

iamTags
object

Filter resources on IAM tags

Response

200string[]successful operation

Example uses organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ "string"]

Get the Exchange serviceProduction

GET
/1.0/email/exchange/{organizationName}/service/{exchangeService}

Get the Exchange service. Returns the offer, state, hostname, display name, password and lockout policy, message size limits, spam and virus settings and SSL expiration date of the service.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Response

200ExchangeServiceWithIAMsuccessful operation
adfsChangePassword
boolean

Enable or disable password change via ADFS

cnameDcvRecord
read-only
string

DNS Domain Control Validation record, require for order ssl varification process

complexityEnabled
boolean

enable policy for strong and secure passwords

defaultAuthenticationPolicyId
integer

ID of the authentication policy to apply on a new Exchange account

defaultSmartHost
read-only
string

Relay domain address that can be used to send all e-mails via default send connector

displayName
string

service displayName

domain
read-only
string
—
hostname
read-only
string
—
iam
read-only
ResourceMetadata

IAM resource metadata

lastUpdateDate
read-only
stringdate-time

Update date

lockoutDuration
integer

number of minutes account will remain locked if it occurs

lockoutObservationWindow
integer

number of minutes that must elapse after a failed logon to reset lockout trigger

lockoutThreshold
integer

number of attempts before account to be locked

maxPasswordAge
integer

maximum number of days that account's password is valid before expiration

maxReceiveSize
integer

Maximum message size that You can receive in MB

maxSendSize
integer

Maximum message size that You can send in MB

minPasswordAge
integer

minimum number of days before able to change account's password

minPasswordLength
integer

minimum number of characters password must contain

offer
read-only
ServiceOfferEnum

Service Offer name

ValuesdedicateddedicatedClusterhostedprovider
passwordHistoryCount
integer

number of historical password that cannot be reused

spamAndVirusConfiguration
spamAndVirusConfiguration

Spam and Antivirus configuration

sslExpirationDate
read-only
stringdate
—
state
read-only
ServiceStateEnum

Exchange Service State

ValuesinMaintenanceoksuspended
taskPendingId
read-only
integer

Task pending id

webUrl
read-only
string

URL for web interface

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "adfsChangePassword": true, "cnameDcvRecord": "string", "complexityEnabled": true, "defaultAuthenticationPolicyId": 0, "defaultSmartHost": "string", "displayName": "string", "domain": "string", "hostname": "string", "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "lastUpdateDate": "2024-01-01T12:00:00Z", "lockoutDuration": 0, "lockoutObservationWindow": 0, "lockoutThreshold": 0, "maxPasswordAge": 0, "maxReceiveSize": 0, "maxSendSize": 0, "minPasswordAge": 0, "minPasswordLength": 0, "offer": "dedicated", "passwordHistoryCount": 0, "spamAndVirusConfiguration": { "checkDKIM": true, "checkSPF": true, "deleteSpam": true, "deleteVirus": true, "putInJunk": true, "tagSpam": true, "tagVirus": true }, "sslExpirationDate": "2024-01-01", "state": "inMaintenance", "taskPendingId": 0, "webUrl": "string"}

Update the Exchange serviceProduction

PUT
/1.0/email/exchange/{organizationName}/service/{exchangeService}

Update the Exchange service. Updates the display name, password and lockout policy, message size limits, spam and virus settings, ADFS password change and default authentication policy of the service.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Request body (required)

adfsChangePassword
boolean

Enable or disable password change via ADFS

cnameDcvRecord
read-only
string

DNS Domain Control Validation record, require for order ssl varification process

complexityEnabled
boolean

enable policy for strong and secure passwords

defaultAuthenticationPolicyId
integer

ID of the authentication policy to apply on a new Exchange account

defaultSmartHost
read-only
string

Relay domain address that can be used to send all e-mails via default send connector

displayName
string

service displayName

domain
read-only
string
—
hostname
read-only
string
—
lastUpdateDate
read-only
stringdate-time

Update date

lockoutDuration
integer

number of minutes account will remain locked if it occurs

lockoutObservationWindow
integer

number of minutes that must elapse after a failed logon to reset lockout trigger

lockoutThreshold
integer

number of attempts before account to be locked

maxPasswordAge
integer

maximum number of days that account's password is valid before expiration

maxReceiveSize
integer

Maximum message size that You can receive in MB

maxSendSize
integer

Maximum message size that You can send in MB

minPasswordAge
integer

minimum number of days before able to change account's password

minPasswordLength
integer

minimum number of characters password must contain

offer
read-only
ServiceOfferEnum

Service Offer name

ValuesdedicateddedicatedClusterhostedprovider
passwordHistoryCount
integer

number of historical password that cannot be reused

spamAndVirusConfiguration
spamAndVirusConfiguration

Spam and Antivirus configuration

sslExpirationDate
read-only
stringdate
—
state
read-only
ServiceStateEnum

Exchange Service State

ValuesinMaintenanceoksuspended
taskPendingId
read-only
integer

Task pending id

webUrl
read-only
string

URL for web interface

Response

200—successful operation

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService} \
  -H "authorization: Bearer $OVH_TOKEN"

List active licensesProduction

GET
/1.0/email/exchange/{organizationName}/service/{exchangeService}/license

List active licenses. Returns, for each day, the number of active accounts per license and the number of Outlook licenses. Filter by fromDate, toDate or license.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Query parameters

fromDate
stringdate

Get active licenses since date

license
OvhLicenceEnum

License type

Valuesbasicenterprisestandard
toDate
stringdate

Get active licenses until date

Response

200DailyLicense[]successful operation
accountLicense
AccountLicense[]
—
date
stringdate
—
outlookQuantity
integer
—

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService}/license \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "accountLicense": [ { "license": "basic", "licenseQuantity": 0 } ], "date": "2024-01-01", "outlookQuantity": 0 }]

List available Outlook versionsProduction

GET
/1.0/email/exchange/{organizationName}/service/{exchangeService}/outlookAvailability

List available Outlook versions. Returns whether each Outlook version and language is available. Filter by outlookVersion or outlookLanguage.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Query parameters

outlookLanguage
LanguageEnum

Language version of outlook

Valuesarbgczdadeelenesetfifrhehrhuidinitjakokzltlvmsnbnlplptpt-BRrorsruskslsvthtrukvizh-CN
outlookVersion
OutlookVersionEnum

OS version of outlook

Valuesmac_x86_2016mac_x86_2019mac_x86_2021windows_x64_2016windows_x64_2019windows_x64_2021windows_x86_2016windows_x86_2019windows_x86_2021

Response

200OutlookVersions[]successful operation
outlookLanguage
LanguageEnum

Outlook language

Valuesarbgczdadeelenesetfifrhehrhuidinitjakokzltlvmsnbnlplptpt-BRrorsruskslsvthtrukvizh-CN
outlookVersion
OutlookVersionEnum

Outlook version

Valuesmac_x86_2016mac_x86_2019mac_x86_2021windows_x64_2016windows_x64_2019windows_x64_2021windows_x86_2016windows_x86_2019windows_x86_2021
status
boolean
—

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService}/outlookAvailability \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "outlookLanguage": "ar", "outlookVersion": "mac_x86_2016", "status": true }]

Get the serverProduction

GET
/1.0/email/exchange/{organizationName}/service/{exchangeService}/server

Get the server. Returns the Exchange version, state, IP addresses, disk usage, DNS record checks and Outlook Web Access MFA status of the server.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Response

200Serversuccessful operation
commercialVersion
read-only
exchangeCommercialVersionEnum

Exchange commercial version

Values2010201320162019SE
currentDiskUsage
read-only
integer

Current disk usage in MB

diskSize
read-only
integer

Total disk size in MB

individual2010
read-only
boolean

If true server is 2010 individual offer

ip
read-only
string

ipV4

ipV6
read-only
string

ipV6

isAValid
read-only
boolean

If true your dns A record is valid

isAaaaValid
read-only
boolean

If true your dns AAAA record is valid

isPtrV6Valid
read-only
boolean

If true your dns ptrV6 record is valid

isPtrValid
read-only
boolean

If true your dns ptr record is valid

owaMfa
boolean

Indicates if Multi Factor Authentication is activated on Outlook Web Access interface

state
read-only
ServerStateEnum

Server state

ValuesconfigurationErrorconfigurationPendingnotConfiguredok
taskPendingId
read-only
integer

Task pending id

version
read-only
integer

ExchangeServer version

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService}/server \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "commercialVersion": "2010", "currentDiskUsage": 0, "diskSize": 0, "individual2010": true, "ip": "string", "ipV6": "string", "isAValid": true, "isAaaaValid": true, "isPtrV6Valid": true, "isPtrValid": true, "owaMfa": true, "state": "configurationError", "taskPendingId": 0, "version": 0}

Update the serverProduction

PUT
/1.0/email/exchange/{organizationName}/service/{exchangeService}/server

Update the server. Updates the server settings: set owaMfa to enable or disable MFA on the Outlook Web Access interface.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Request body (required)

commercialVersion
read-only
exchangeCommercialVersionEnum

Exchange commercial version

Values2010201320162019SE
currentDiskUsage
read-only
integer

Current disk usage in MB

diskSize
read-only
integer

Total disk size in MB

individual2010
read-only
boolean

If true server is 2010 individual offer

ip
read-only
string

ipV4

ipV6
read-only
string

ipV6

isAValid
read-only
boolean

If true your dns A record is valid

isAaaaValid
read-only
boolean

If true your dns AAAA record is valid

isPtrV6Valid
read-only
boolean

If true your dns ptrV6 record is valid

isPtrValid
read-only
boolean

If true your dns ptr record is valid

owaMfa
boolean

Indicates if Multi Factor Authentication is activated on Outlook Web Access interface

state
read-only
ServerStateEnum

Server state

ValuesconfigurationErrorconfigurationPendingnotConfiguredok
taskPendingId
read-only
integer

Task pending id

version
read-only
integer

ExchangeServer version

Response

200—successful operation

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService}/server \
  -H "authorization: Bearer $OVH_TOKEN"

Get service informationProduction

GET
/1.0/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos

Get service information. Returns the status, creation and expiration dates, contacts and renewal settings of the service.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Response

200Servicesuccessful operation
canDeleteAtExpiration
read-only
boolean

Indicates that the service can be set up to be deleted at expiration

contactAdmin
read-only
string
—
contactBilling
read-only
string
—
contactTech
read-only
string
—
creation
read-only
stringdate
—
domain
read-only
string
—
engagedUpTo
read-only
stringdate
—
expiration
read-only
stringdate
—
possibleRenewPeriod
read-only
integer[]

All the possible renew period of your service in month

renew
RenewType

Way of handling the renew

renewalType
read-only
RenewalTypeEnum

Detailed renewal type of a service

ValuesautomaticForcedProductautomaticV2012automaticV2014automaticV2016automaticV2024manualoneShotoption
serviceId
read-only
integer
—
status
read-only
StateEnum
—
ValuesautorenewInProgressexpiredinCreationokpendingDebtunPaid

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "canDeleteAtExpiration": true, "contactAdmin": "string", "contactBilling": "string", "contactTech": "string", "creation": "2024-01-01", "domain": "string", "engagedUpTo": "2024-01-01", "expiration": "2024-01-01", "possibleRenewPeriod": [ 0 ], "renew": { "automatic": true, "deleteAtExpiration": true, "forced": true, "manualPayment": true, "period": 0 }, "renewalType": "automaticForcedProduct", "serviceId": 0, "status": "autorenewInProgress"}

Update service informationProduction

PUT
/1.0/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos

Update service information. Updates the renewal settings of the service: automatic renewal, period, or deletion at expiration.

Path parameters

exchangeService
required
string

The internal name of your exchange service

organizationName
required
string

The internal name of your exchange organization

Request body (required)

canDeleteAtExpiration
read-only
boolean

Indicates that the service can be set up to be deleted at expiration

contactAdmin
read-only
string
—
contactBilling
read-only
string
—
contactTech
read-only
string
—
creation
read-only
stringdate
—
domain
read-only
string
—
engagedUpTo
read-only
stringdate
—
expiration
read-only
stringdate
—
possibleRenewPeriod
read-only
integer[]

All the possible renew period of your service in month

renew
RenewType

Way of handling the renew

renewalType
read-only
RenewalTypeEnum

Detailed renewal type of a service

ValuesautomaticForcedProductautomaticV2012automaticV2014automaticV2016automaticV2024manualoneShotoption
serviceId
read-only
integer
—
status
read-only
StateEnum
—
ValuesautorenewInProgressexpiredinCreationokpendingDebtunPaid

Response

200—successful operation

Example uses exchangeService = string, organizationName = string

$ curl https://api.eu.ovhcloud.com/1.0/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos \
  -H "authorization: Bearer $OVH_TOKEN"

List Active Directory servicesProduction

GET
/1.0/msServices

List Active Directory services. Returns the names of the Active Directory services of the account. Filter them by IAM tags with iamTags.

Query parameters

iamTags
object

Filter resources on IAM tags

Response

200string[]successful operation

Reads your token from $OVH_TOKEN

$ curl https://api.eu.ovhcloud.com/1.0/msServices \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ "string"]

Get an Active Directory serviceProduction

GET
/1.0/msServices/{serviceName}

Get an Active Directory service. Returns the name, state and password policy of the Active Directory service, and the service name of the linked Microsoft 365 tenant.

Path parameters

serviceName
required
string

The internal name of your Active Directory organization

Response

200ActiveDirectoryOrganizationalUnitWithIAMsuccessful operation
complexityEnabled
boolean

Flag indicating if passwords should be forced to follow Microsoft's password guidelines

iam
read-only
ResourceMetadata

IAM resource metadata

lockoutDuration
integer

Account lock time (in minutes) when too much passwords have been tried

lockoutObservationWindow
integer

Time (in minutes) before the password attempts counter is reset

lockoutThreshold
integer

Maximum number of password tries before account locking

maxPasswordAge
integer

Maximum lifespan of passwords, in days

minPasswordAge
integer

Minimum lifespan of passwords, in days (0 = unlimited)

minPasswordLength
integer

Minimum number of characters passwords must contain

name
read-only
string

Name of the Active Directory organizational unit

officeTenantServiceName
read-only
string

Service name of the office tenant (/licence/office/{serviceName}) linked to this AD service

state
read-only
ServiceStateEnum

Current state of the Active Directory organizational unit

ValuescreatingdeletinginMaintenanceokreopeningsuspendedsuspending
taskPendingId
read-only
integer

Task pending id

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/msServices/{serviceName} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "complexityEnabled": true, "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "lockoutDuration": 0, "lockoutObservationWindow": 0, "lockoutThreshold": 0, "maxPasswordAge": 0, "minPasswordAge": 0, "minPasswordLength": 0, "name": "string", "officeTenantServiceName": "string", "state": "creating", "taskPendingId": 0}

Update an Active Directory serviceProduction

PUT
/1.0/msServices/{serviceName}

Update an Active Directory service. Updates the password policy: complexity, minimum length, minimum and maximum age, and lockout threshold, duration and observation window.

Path parameters

serviceName
required
string

The internal name of your Active Directory organization

Request body (required)

complexityEnabled
boolean

Flag indicating if passwords should be forced to follow Microsoft's password guidelines

lockoutDuration
integer

Account lock time (in minutes) when too much passwords have been tried

lockoutObservationWindow
integer

Time (in minutes) before the password attempts counter is reset

lockoutThreshold
integer

Maximum number of password tries before account locking

maxPasswordAge
integer

Maximum lifespan of passwords, in days

minPasswordAge
integer

Minimum lifespan of passwords, in days (0 = unlimited)

minPasswordLength
integer

Minimum number of characters passwords must contain

name
read-only
string

Name of the Active Directory organizational unit

officeTenantServiceName
read-only
string

Service name of the office tenant (/licence/office/{serviceName}) linked to this AD service

state
read-only
ServiceStateEnum

Current state of the Active Directory organizational unit

ValuescreatingdeletinginMaintenanceokreopeningsuspendedsuspending
taskPendingId
read-only
integer

Task pending id

Response

200—successful operation

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/msServices/{serviceName} \
  -H "authorization: Bearer $OVH_TOKEN"

Change service contactsProduction

POST
/1.0/msServices/{serviceName}/changeContact

Change service contacts. Starts a procedure to change the admin, tech or billing contact of the service.

Path parameters

serviceName
required
string

The internal name of your Active Directory organization

Request body (required)

contactAdmin
string

The contact to set as admin contact

contactBilling
string

The contact to set as billing contact

contactTech
string

The contact to set as tech contact

Response

200integer[]successful operation

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/msServices/{serviceName}/changeContact \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ 0]

Get the linked Exchange serviceProduction

GET
/1.0/msServices/{serviceName}/exchange

Get the linked Exchange service. Returns the Exchange service linked to the Active Directory service: offer, hostname, state, SSL certificate expiration date, message size limits and spam and antivirus configuration.

Path parameters

serviceName
required
string

The internal name of your Active Directory organization

Response

200ExchangeServicesuccessful operation
displayName
string

Service family name displayed

domain
read-only
string

Exchange service name

hostname
read-only
string

Exchange service URL

maxReceiveSize
integer

Maximum allowable size for received messages in MB

maxSendSize
integer

Maximum allowable size of sent messages in MB

offer
read-only
ServiceOfferEnum

Exchange service offer

ValuesdedicateddedicatedClusterhostedprovider
spamAndVirusConfiguration
SpamAndVirusConfiguration

Spam and Antivirus configuration

sslExpirationDate
read-only
stringdate

Expiration date of SSL certificate

state
read-only
ServiceStateEnum

Exchange service state

ValuescreatingdeletinginMaintenanceokreopeningsuspendedsuspending
taskPendingId
read-only
integer

Task pending id

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/msServices/{serviceName}/exchange \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "displayName": "string", "domain": "string", "hostname": "string", "maxReceiveSize": 0, "maxSendSize": 0, "offer": "dedicated", "spamAndVirusConfiguration": { "checkDKIM": true, "checkSPF": true, "deleteSpam": true, "deleteVirus": true, "putInJunk": true, "tagSpam": true, "tagVirus": true }, "sslExpirationDate": "2024-01-01", "state": "creating", "taskPendingId": 0}

Update the linked Exchange serviceProduction

PUT
/1.0/msServices/{serviceName}/exchange

Update the linked Exchange service. Updates the display name, the maximum sizes of sent and received messages in MB, and the spam and antivirus configuration of the Exchange service.

Path parameters

serviceName
required
string

The internal name of your Active Directory organization

Request body (required)

displayName
string

Service family name displayed

domain
read-only
string

Exchange service name

hostname
read-only
string

Exchange service URL

maxReceiveSize
integer

Maximum allowable size for received messages in MB

maxSendSize
integer

Maximum allowable size of sent messages in MB

offer
read-only
ServiceOfferEnum

Exchange service offer

ValuesdedicateddedicatedClusterhostedprovider
spamAndVirusConfiguration
SpamAndVirusConfiguration

Spam and Antivirus configuration

sslExpirationDate
read-only
stringdate

Expiration date of SSL certificate

state
read-only
ServiceStateEnum

Exchange service state

ValuescreatingdeletinginMaintenanceokreopeningsuspendedsuspending
taskPendingId
read-only
integer

Task pending id

Response

200—successful operation

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/msServices/{serviceName}/exchange \
  -H "authorization: Bearer $OVH_TOKEN"

Check the billing migrationProduction

GET
/1.0/msServices/{serviceName}/exchange/billingMigrated

Check the billing migration. Returns true when the service is billed by the new OVHcloud billing system.

Path parameters

serviceName
required
string

The internal name of your Active Directory organization

Response

200booleansuccessful operation

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/msServices/{serviceName}/exchange/billingMigrated \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
true