{"openapi":"3.0.0","info":{"title":"OVHcloud API specification","description":"Specification for OVHcloud API","version":"1.0","contact":{"name":"OVH","email":"api@ml.ovh.net"}},"servers":[{"url":"https://api.eu.ovhcloud.com/1.0"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"duration":{"type":"string","description":"Duration (e.g., P1Y2M3DT4H6M9S)","example":"P1Y2M3DT4H6M9S"},"email":{"type":"string","description":"Email address (e.g., api@ml.ovh.net)","format":"email","example":"api@ml.ovh.net"},"email.exchange.AccountLicense":{"type":"object","description":"Exchange account license","properties":{"license":{"$ref":"#/components/schemas/email.exchange.OvhLicenceEnum"},"licenseQuantity":{"type":"integer"}}},"email.exchange.DailyLicense":{"type":"object","description":"Exchange account license per day","properties":{"accountLicense":{"type":"array","items":{"$ref":"#/components/schemas/email.exchange.AccountLicense"}},"date":{"type":"string","format":"date"},"outlookQuantity":{"type":"integer"}}},"email.exchange.ExchangeService":{"type":"object","description":"Exchange service","properties":{"adfsChangePassword":{"type":"boolean","description":"Enable or disable password change via ADFS"},"cnameDcvRecord":{"type":"string","description":"DNS Domain Control Validation record, require for order ssl varification process","nullable":true,"readOnly":true},"complexityEnabled":{"type":"boolean","description":"enable policy for strong and secure passwords"},"defaultAuthenticationPolicyId":{"type":"integer","description":"ID of the authentication policy to apply on a new Exchange account","nullable":true},"defaultSmartHost":{"type":"string","description":"Relay domain address that can be used to send all e-mails via default send connector","nullable":true,"readOnly":true},"displayName":{"type":"string","description":"service displayName","nullable":true},"domain":{"type":"string","readOnly":true},"hostname":{"type":"string","nullable":true,"readOnly":true},"lastUpdateDate":{"type":"string","description":"Update date","nullable":true,"format":"date-time","readOnly":true},"lockoutDuration":{"type":"integer","description":"number of minutes account will remain locked if it occurs"},"lockoutObservationWindow":{"type":"integer","description":"number of minutes that must elapse after a failed logon to reset lockout trigger"},"lockoutThreshold":{"type":"integer","description":"number of attempts before account to be locked","nullable":true},"maxPasswordAge":{"type":"integer","description":"maximum number of days that account's password is valid before expiration","nullable":true},"maxReceiveSize":{"type":"integer","description":"Maximum message size that You can receive in MB"},"maxSendSize":{"type":"integer","description":"Maximum message size that You can send in MB"},"minPasswordAge":{"type":"integer","description":"minimum number of days before able to change account's password","nullable":true},"minPasswordLength":{"type":"integer","description":"minimum number of characters password must contain","nullable":true},"offer":{"allOf":[{"$ref":"#/components/schemas/email.exchange.ServiceOfferEnum"}],"readOnly":true},"passwordHistoryCount":{"type":"integer","description":"number of historical password that cannot be reused","nullable":true},"spamAndVirusConfiguration":{"allOf":[{"$ref":"#/components/schemas/email.exchange.spamAndVirusConfiguration"}],"description":"Spam and Antivirus configuration"},"sslExpirationDate":{"type":"string","nullable":true,"format":"date","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/email.exchange.ServiceStateEnum"}],"readOnly":true},"taskPendingId":{"type":"integer","description":"Task pending id","readOnly":true},"webUrl":{"type":"string","description":"URL for web interface","nullable":true,"readOnly":true}}},"email.exchange.ExchangeServiceWithIAM":{"type":"object","description":"Exchange service","properties":{"adfsChangePassword":{"type":"boolean","description":"Enable or disable password change via ADFS"},"cnameDcvRecord":{"type":"string","description":"DNS Domain Control Validation record, require for order ssl varification process","nullable":true,"readOnly":true},"complexityEnabled":{"type":"boolean","description":"enable policy for strong and secure passwords"},"defaultAuthenticationPolicyId":{"type":"integer","description":"ID of the authentication policy to apply on a new Exchange account","nullable":true},"defaultSmartHost":{"type":"string","description":"Relay domain address that can be used to send all e-mails via default send connector","nullable":true,"readOnly":true},"displayName":{"type":"string","description":"service displayName","nullable":true},"domain":{"type":"string","readOnly":true},"hostname":{"type":"string","nullable":true,"readOnly":true},"iam":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata"}],"description":"IAM resource metadata","nullable":true,"readOnly":true},"lastUpdateDate":{"type":"string","description":"Update date","nullable":true,"format":"date-time","readOnly":true},"lockoutDuration":{"type":"integer","description":"number of minutes account will remain locked if it occurs"},"lockoutObservationWindow":{"type":"integer","description":"number of minutes that must elapse after a failed logon to reset lockout trigger"},"lockoutThreshold":{"type":"integer","description":"number of attempts before account to be locked","nullable":true},"maxPasswordAge":{"type":"integer","description":"maximum number of days that account's password is valid before expiration","nullable":true},"maxReceiveSize":{"type":"integer","description":"Maximum message size that You can receive in MB"},"maxSendSize":{"type":"integer","description":"Maximum message size that You can send in MB"},"minPasswordAge":{"type":"integer","description":"minimum number of days before able to change account's password","nullable":true},"minPasswordLength":{"type":"integer","description":"minimum number of characters password must contain","nullable":true},"offer":{"allOf":[{"$ref":"#/components/schemas/email.exchange.ServiceOfferEnum"}],"readOnly":true},"passwordHistoryCount":{"type":"integer","description":"number of historical password that cannot be reused","nullable":true},"spamAndVirusConfiguration":{"allOf":[{"$ref":"#/components/schemas/email.exchange.spamAndVirusConfiguration"}],"description":"Spam and Antivirus configuration"},"sslExpirationDate":{"type":"string","nullable":true,"format":"date","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/email.exchange.ServiceStateEnum"}],"readOnly":true},"taskPendingId":{"type":"integer","description":"Task pending id","readOnly":true},"webUrl":{"type":"string","description":"URL for web interface","nullable":true,"readOnly":true}}},"email.exchange.LanguageEnum":{"type":"string","description":"Outlook language","enum":["ar","bg","cz","da","de","el","en","es","et","fi","fr","he","hr","hu","id","in","it","ja","ko","kz","lt","lv","ms","nb","nl","pl","pt","pt-BR","ro","rs","ru","sk","sl","sv","th","tr","uk","vi","zh-CN"]},"email.exchange.OutlookVersionEnum":{"type":"string","description":"Outlook version","enum":["mac_x86_2016","mac_x86_2019","mac_x86_2021","windows_x64_2016","windows_x64_2019","windows_x64_2021","windows_x86_2016","windows_x86_2019","windows_x86_2021"]},"email.exchange.OutlookVersions":{"type":"object","description":"Availability of outlook version","properties":{"outlookLanguage":{"$ref":"#/components/schemas/email.exchange.LanguageEnum"},"outlookVersion":{"$ref":"#/components/schemas/email.exchange.OutlookVersionEnum"},"status":{"type":"boolean"}}},"email.exchange.OvhLicenceEnum":{"type":"string","description":"OVH licence account","enum":["basic","enterprise","standard"]},"email.exchange.Server":{"type":"object","description":"Exchange server","properties":{"commercialVersion":{"allOf":[{"$ref":"#/components/schemas/email.exchange.exchangeCommercialVersionEnum"}],"description":"Exchange commercial version","readOnly":true},"currentDiskUsage":{"type":"integer","description":"Current disk usage in MB","nullable":true,"readOnly":true},"diskSize":{"type":"integer","description":"Total disk size in MB","nullable":true,"readOnly":true},"individual2010":{"type":"boolean","description":"If true server is 2010 individual offer","readOnly":true},"ip":{"type":"string","description":"ipV4","readOnly":true},"ipV6":{"type":"string","description":"ipV6","nullable":true,"readOnly":true},"isAValid":{"type":"boolean","description":"If true your dns A record is valid","readOnly":true},"isAaaaValid":{"type":"boolean","description":"If true your dns AAAA record is valid","readOnly":true},"isPtrV6Valid":{"type":"boolean","description":"If true your dns ptrV6 record is valid","readOnly":true},"isPtrValid":{"type":"boolean","description":"If true your dns ptr record is valid","readOnly":true},"owaMfa":{"type":"boolean","description":"Indicates if Multi Factor Authentication is activated on Outlook Web Access interface"},"state":{"allOf":[{"$ref":"#/components/schemas/email.exchange.ServerStateEnum"}],"description":"Server state","readOnly":true},"taskPendingId":{"type":"integer","description":"Task pending id","readOnly":true},"version":{"type":"integer","description":"ExchangeServer version","nullable":true,"readOnly":true}}},"email.exchange.ServerStateEnum":{"type":"string","description":"Server State","enum":["configurationError","configurationPending","notConfigured","ok"]},"email.exchange.ServiceOfferEnum":{"type":"string","description":"Service Offer name","enum":["dedicated","dedicatedCluster","hosted","provider"]},"email.exchange.ServiceStateEnum":{"type":"string","description":"Exchange Service State","enum":["inMaintenance","ok","suspended"]},"email.exchange.Task":{"type":"object","description":"Exchange task details","properties":{"finishDate":{"type":"string","description":"Completion date","nullable":true,"format":"date-time","readOnly":true},"function":{"allOf":[{"$ref":"#/components/schemas/email.exchange.TaskFunctionEnum"}],"description":"Function name","readOnly":true},"id":{"type":"integer","description":"Task id","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/email.exchange.TaskStatusEnum"}],"description":"Task status","readOnly":true},"todoDate":{"type":"string","description":"Creation date","format":"date-time","readOnly":true}}},"email.exchange.TaskFunctionEnum":{"type":"string","description":"function enumeration for exchange task","enum":["activateSharepoint","addAccount","addAccountArchive","addAccountImpersonation","addActiveSyncMailNotification","addAlias","addDistributionGroup","addDistributionGroupManager","addDistributionGroupMember","addDistributionGroupSendAs","addDistributionGroupSendOnBehalfTo","addDomain","addDomainDisclaimer","addExchangeCustomIsolation","addExchangeDomainDKIM","addExchangeRemoteMailbox","addExchangeServiceAuthorizedIp","addExportPstRequest","addExternalContact","addFullAccess","addOutlookLicense","addPublicFolder","addPublicFolderPermission","addResourceAccount","addResourceDelegate","addSendAs","addSendConnector","addSendOnBehalfTo","addSharedAccount","addSharedAccountFullAccess","addSharedAccountSendAs","addSharedAccountSendOnBehalfTo","changeHostname","changePassword","clearDataOnDevice","cloneTemplateExchangePrivate","configureExchangeCustomer","configureExchangeOwaMfa","copyMailbox","createExternalAntiSpamReceiveConnector","deleteAccount","deleteAccountArchive","deleteAccountImpersonation","deleteActiveSyncMailNotification","deleteAlias","deleteDistributionGroup","deleteDistributionGroupManager","deleteDistributionGroupMember","deleteDistributionGroupSendAs","deleteDistributionGroupSendOnBehalfTo","deleteDomain","deleteDomainDisclaimer","deleteExchangeCustomIsolation","deleteExchangeDomainDKIM","deleteExchangeRemoteMailbox","deleteExchangeService","deleteExchangeServiceAuthorizedIp","deleteExportPstRequest","deleteExternalAntiSpamReceiveConnector","deleteExternalContact","deleteFullAccess","deleteOutlookLicense","deletePublicFolder","deletePublicFolderPermission","deleteResourceAccount","deleteResourceDelegate","deleteSendAs","deleteSendConnector","deleteSendOnBehalfTo","deleteSharedAccount","deleteSharedAccountFullAccess","deleteSharedAccountSendAs","deleteSharedAccountSendOnBehalfTo","destroyPrivateVm","diagnoseAccount","disableExchangeDKIM","enableExchangeDKIM","expandDrive","generateOutlookUrl","generatePstUrl","installExchange","installSSL","maintenance","migrationAccount","migrationDisclaimer","migrationExternalContact","migrationHistory","migrationMailingList","migrationResourceAccount","migrationService","reOpenHostedAccount","reOpenOutlookLicense","reOpenPrivateAccount","reOpenPrivateVm","setAccount","setAccountArchive","setAlias","setDistributionGroup","setDns","setDomain","setDomainDisclaimer","setExchangeAccountProtocol","setExchangeRemoteMailbox","setExchangeServiceDevice","setExternalAntiSpamReceiveConnector","setExternalContact","setPublicFolder","setPublicFolderPermission","setResourceAccount","setSendConnector","setService","setSharedAccount","suspendAccount","suspendExchangeService","suspendHostedAccount","suspendOutlookLicense","suspendPrivateAccount","suspendPrivateVm","unsuspendAccount","unsuspendExchangeService","unsuspendHostedAccount","updateExchangeServiceDevice","upgrade2016"]},"email.exchange.TaskStatusEnum":{"type":"string","description":"Exchange task status","enum":["cancelled","doing","done","error","todo"]},"email.exchange.exchangeCommercialVersionEnum":{"type":"string","description":"Exchange commercial version","enum":["2010","2013","2016","2019","SE"]},"email.exchange.spamAndVirusConfiguration":{"type":"object","description":"Spam and Antyvirus configuration","properties":{"checkDKIM":{"type":"boolean","description":"Check DKIM of message"},"checkSPF":{"type":"boolean","description":"Check SPF of message"},"deleteSpam":{"type":"boolean","description":"If message is a spam delete it"},"deleteVirus":{"type":"boolean","description":"If message is a virus delete it"},"putInJunk":{"type":"boolean","description":"If message is a spam or virus put in junk. Overridden by deleteSpam or deleteVirus"},"tagSpam":{"type":"boolean","description":"If message is a spam change its subject"},"tagVirus":{"type":"boolean","description":"If message is a virus change its subject"}}},"iam.ResourceMetadata":{"type":"object","description":"IAM resource metadata embedded in services models","properties":{"displayName":{"type":"string","description":"Resource display name","nullable":true,"readOnly":true},"id":{"type":"string","description":"Unique identifier of the resource","format":"uuid","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata.StateEnum"}],"description":"Resource state","nullable":true,"readOnly":true},"tags":{"type":"object","description":"Resource tags. Tags that were internally computed are prefixed with ovh:","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"urn":{"type":"string","description":"Unique resource name used in policies","readOnly":true}}},"iam.ResourceMetadata.StateEnum":{"type":"string","description":"Resource state","enum":["EXPIRED","IN_CREATION","OK","SUSPENDED"]},"iam.resource.TagFilter":{"type":"object","description":"Resource tag filter","properties":{"operator":{"allOf":[{"$ref":"#/components/schemas/iam.resource.TagFilter.OperatorEnum"}],"description":"Operator to use in order to filter on the value (defaults to 'EQ')","nullable":true,"readOnly":true},"value":{"type":"string","description":"Value to use in order to filter tags","readOnly":true}}},"iam.resource.TagFilter.OperatorEnum":{"type":"string","description":"Operator that can be used in order to filter resources tags","enum":["EQ","EXISTS","ILIKE","LIKE","NEQ","NEXISTS"]},"internationalPhoneNumber":{"type":"string","description":"International phone number","format":"phone-number"},"ip":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipBlock":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","format":"ip-block","example":"192.0.2.0/24"},"ipInterface":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4Block":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","format":"ipv4-block","example":"192.0.2.0/24"},"ipv6":{"type":"string","description":"IPv6 address (e.g., 2001:41d0:1:1994::1)","format":"ipv6","example":"2001:41d0:1:1994::1"},"ipv6Block":{"type":"string","description":"IPv6 CIDR notation (e.g., 2001:41d0::/128)","format":"ipv6-block","example":"2001:41d0::/128"},"macAddress":{"type":"string","description":"MAC address (e.g., 00:00:5e:00:53:01)","format":"mac-address","example":"00:00:5e:00:53:01"},"msServices.ActiveDirectoryOrganizationalUnit":{"type":"object","description":"Active Directory organizational unit","properties":{"complexityEnabled":{"type":"boolean","description":"Flag indicating if passwords should be forced to follow Microsoft's password guidelines"},"lockoutDuration":{"type":"integer","description":"Account lock time (in minutes) when too much passwords have been tried"},"lockoutObservationWindow":{"type":"integer","description":"Time (in minutes) before the password attempts counter is reset"},"lockoutThreshold":{"type":"integer","description":"Maximum number of password tries before account locking","nullable":true},"maxPasswordAge":{"type":"integer","description":"Maximum lifespan of passwords, in days","nullable":true},"minPasswordAge":{"type":"integer","description":"Minimum lifespan of passwords, in days (0 = unlimited)","nullable":true},"minPasswordLength":{"type":"integer","description":"Minimum number of characters passwords must contain","nullable":true},"name":{"type":"string","description":"Name of the Active Directory organizational unit","readOnly":true},"officeTenantServiceName":{"type":"string","description":"Service name of the office tenant (/licence/office/{serviceName}) linked to this AD service","nullable":true,"readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/msServices.ServiceStateEnum"}],"description":"Current state of the Active Directory organizational unit","readOnly":true},"taskPendingId":{"type":"integer","description":"Task pending id","readOnly":true}}},"msServices.ActiveDirectoryOrganizationalUnitWithIAM":{"type":"object","description":"Active Directory organizational unit","properties":{"complexityEnabled":{"type":"boolean","description":"Flag indicating if passwords should be forced to follow Microsoft's password guidelines"},"iam":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata"}],"description":"IAM resource metadata","nullable":true,"readOnly":true},"lockoutDuration":{"type":"integer","description":"Account lock time (in minutes) when too much passwords have been tried"},"lockoutObservationWindow":{"type":"integer","description":"Time (in minutes) before the password attempts counter is reset"},"lockoutThreshold":{"type":"integer","description":"Maximum number of password tries before account locking","nullable":true},"maxPasswordAge":{"type":"integer","description":"Maximum lifespan of passwords, in days","nullable":true},"minPasswordAge":{"type":"integer","description":"Minimum lifespan of passwords, in days (0 = unlimited)","nullable":true},"minPasswordLength":{"type":"integer","description":"Minimum number of characters passwords must contain","nullable":true},"name":{"type":"string","description":"Name of the Active Directory organizational unit","readOnly":true},"officeTenantServiceName":{"type":"string","description":"Service name of the office tenant (/licence/office/{serviceName}) linked to this AD service","nullable":true,"readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/msServices.ServiceStateEnum"}],"description":"Current state of the Active Directory organizational unit","readOnly":true},"taskPendingId":{"type":"integer","description":"Task pending id","readOnly":true}}},"msServices.ExchangeService":{"type":"object","description":"Exchange service","properties":{"displayName":{"type":"string","description":"Service family name displayed","nullable":true},"domain":{"type":"string","description":"Exchange service name","readOnly":true},"hostname":{"type":"string","description":"Exchange service URL","nullable":true,"readOnly":true},"maxReceiveSize":{"type":"integer","description":"Maximum allowable size for received messages in MB"},"maxSendSize":{"type":"integer","description":"Maximum allowable size of sent messages in MB"},"offer":{"allOf":[{"$ref":"#/components/schemas/msServices.ServiceOfferEnum"}],"description":"Exchange service offer","readOnly":true},"spamAndVirusConfiguration":{"allOf":[{"$ref":"#/components/schemas/msServices.SpamAndVirusConfiguration"}],"description":"Spam and Antivirus configuration"},"sslExpirationDate":{"type":"string","description":"Expiration date of SSL certificate","nullable":true,"format":"date","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/msServices.ServiceStateEnum"}],"description":"Exchange service state","readOnly":true},"taskPendingId":{"type":"integer","description":"Task pending id","readOnly":true}}},"msServices.ServiceOfferEnum":{"type":"string","description":"Service Offer name","enum":["dedicated","dedicatedCluster","hosted","provider"]},"msServices.ServiceStateEnum":{"type":"string","description":"Service State","enum":["creating","deleting","inMaintenance","ok","reopening","suspended","suspending"]},"msServices.SpamAndVirusConfiguration":{"type":"object","description":"Spam and Antivirus configuration","properties":{"checkDKIM":{"type":"boolean","description":"Check DKIM of message"},"checkSPF":{"type":"boolean","description":"Check SPF of message"},"deleteSpam":{"type":"boolean","description":"If message is a spam delete it"},"deleteVirus":{"type":"boolean","description":"If message is a virus delete it"},"putInJunk":{"type":"boolean","description":"If message is a spam or virus put in junk. Overridden by deleteSpam or deleteVirus"},"tagSpam":{"type":"boolean","description":"If message is a spam change its subject"},"tagVirus":{"type":"boolean","description":"If message is a virus change its subject"}}},"phoneNumber":{"type":"string","description":"Phone number","format":"phone-number"},"service.RenewType":{"type":"object","description":"Map a possible renew for a specific service","properties":{"automatic":{"type":"boolean","description":"The service is automatically renewed"},"deleteAtExpiration":{"type":"boolean","description":"The service will be deleted at expiration"},"forced":{"type":"boolean","description":"The service forced to be renewed"},"manualPayment":{"type":"boolean","description":"The service needs to be manually renewed and paid","nullable":true},"period":{"type":"integer","description":"period of renew in month","nullable":true}}},"service.RenewalTypeEnum":{"type":"string","description":"Detailed renewal type of a service","enum":["automaticForcedProduct","automaticV2012","automaticV2014","automaticV2016","automaticV2024","manual","oneShot","option"]},"service.StateEnum":{"type":"string","enum":["autorenewInProgress","expired","inCreation","ok","pendingDebt","unPaid"]},"services.Service":{"type":"object","description":"Details about a Service","properties":{"canDeleteAtExpiration":{"type":"boolean","description":"Indicates that the service can be set up to be deleted at expiration","readOnly":true},"contactAdmin":{"type":"string","readOnly":true},"contactBilling":{"type":"string","readOnly":true},"contactTech":{"type":"string","readOnly":true},"creation":{"type":"string","format":"date","readOnly":true},"domain":{"type":"string","readOnly":true},"engagedUpTo":{"type":"string","nullable":true,"format":"date","readOnly":true},"expiration":{"type":"string","format":"date","readOnly":true},"possibleRenewPeriod":{"type":"array","description":"All the possible renew period of your service in month","nullable":true,"items":{"type":"integer"},"readOnly":true},"renew":{"allOf":[{"$ref":"#/components/schemas/service.RenewType"}],"description":"Way of handling the renew","nullable":true},"renewalType":{"allOf":[{"$ref":"#/components/schemas/service.RenewalTypeEnum"}],"readOnly":true},"serviceId":{"type":"integer","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/service.StateEnum"}],"readOnly":true}}},"time":{"type":"string","description":"Time (e.g., 15:04:05)","format":"time","example":"15:04:05"}},"securitySchemes":{"oAuth2AuthCode":{"type":"oauth2","description":"Oauth2","x-client-id":"1bb9c7df371741c0","x-client-secret":"a5b4de870aca620d10fbf63cd18d205b","flows":{"authorizationCode":{"authorizationUrl":"https://auth.eu.ovhcloud.com/oauth2/authorize","tokenUrl":"https://auth.eu.ovhcloud.com/oauth2/token","scopes":{"account/all":"Manage your account","all":"Manage your whole account and all your services","services/all":"Manage your services lifecycle and billing"}}}}}},"paths":{"/email/exchange":{"get":{"summary":"List Exchange organizations","description":"List Exchange organizations. Returns the names of the Exchange organizations of the account. Each organization holds one or more services.","security":[{"oAuth2AuthCode":[]}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@10"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@10"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@10"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:get","required":true}]}},"/email/exchange/{organizationName}/service":{"get":{"summary":"List Exchange services","description":"List Exchange services. Returns the names of the Exchange services of the organization. Filter them by IAM tags with `iamTags`.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"iamTags","description":"Filter resources on IAM tags","schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/iam.resource.TagFilter"}}}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@20"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@20"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@20"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/get","required":true}],"x-expanded-response":"EmailExchangeExchangeServiceWithIAM"}},"/email/exchange/{organizationName}/service/{exchangeService}":{"get":{"summary":"Get the Exchange service","description":"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.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/email.exchange.ExchangeServiceWithIAM"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@30"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@30"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@30"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service/{exchangeService}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service/{exchangeService}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/get","required":true}]},"put":{"summary":"Update the Exchange service","description":"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.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/email.exchange.ExchangeService"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@40"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@40"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@40"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: email.exchange.ExchangeService\nresult = client.put(\"/email/exchange/{organizationName}/service/{exchangeService}\",\n\tadfsChangePassword = None, # Enable or disable password change via ADFS (type: boolean)\n\tcomplexityEnabled = None, # enable policy for strong and secure passwords (type: boolean)\n\tdefaultAuthenticationPolicyId = None, # ID of the authentication policy to apply on a new Exchange account (type: integer, nullable)\n\tdisplayName = None, # service displayName (type: string, nullable)\n\tlockoutDuration = None, # number of minutes account will remain locked if it occurs (type: integer)\n\tlockoutObservationWindow = None, # number of minutes that must elapse after a failed logon to reset lockout trigger (type: integer)\n\tlockoutThreshold = None, # number of attempts before account to be locked (type: integer, nullable)\n\tmaxPasswordAge = None, # maximum number of days that account's password is valid before expiration (type: integer, nullable)\n\tmaxReceiveSize = None, # Maximum message size that You can receive in MB (type: integer)\n\tmaxSendSize = None, # Maximum message size that You can send in MB (type: integer)\n\tminPasswordAge = None, # minimum number of days before able to change account's password (type: integer, nullable)\n\tminPasswordLength = None, # minimum number of characters password must contain (type: integer, nullable)\n\tpasswordHistoryCount = None, # number of historical password that cannot be reused (type: integer, nullable)\n\tspamAndVirusConfiguration = None, # Spam and Antivirus configuration (type: email.exchange.spamAndVirusConfiguration)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: email.exchange.ExchangeService\n$result = $ovh->put(\"/email/exchange/{organizationName}/service/{exchangeService}\", array(\n\tadfsChangePassword => null, // Enable or disable password change via ADFS (type: boolean)\n\tcomplexityEnabled => null, // enable policy for strong and secure passwords (type: boolean)\n\tdefaultAuthenticationPolicyId => null, // ID of the authentication policy to apply on a new Exchange account (type: integer, nullable)\n\tdisplayName => null, // service displayName (type: string, nullable)\n\tlockoutDuration => null, // number of minutes account will remain locked if it occurs (type: integer)\n\tlockoutObservationWindow => null, // number of minutes that must elapse after a failed logon to reset lockout trigger (type: integer)\n\tlockoutThreshold => null, // number of attempts before account to be locked (type: integer, nullable)\n\tmaxPasswordAge => null, // maximum number of days that account's password is valid before expiration (type: integer, nullable)\n\tmaxReceiveSize => null, // Maximum message size that You can receive in MB (type: integer)\n\tmaxSendSize => null, // Maximum message size that You can send in MB (type: integer)\n\tminPasswordAge => null, // minimum number of days before able to change account's password (type: integer, nullable)\n\tminPasswordLength => null, // minimum number of characters password must contain (type: integer, nullable)\n\tpasswordHistoryCount => null, // number of historical password that cannot be reused (type: integer, nullable)\n\tspamAndVirusConfiguration => null, // Spam and Antivirus configuration (type: email.exchange.spamAndVirusConfiguration)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/edit","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/changeHostname":{"post":{"summary":"Change the SSL hostname","description":"Change the SSL hostname. Sets the SSL hostname of the service and returns the task. Validate the hostname with a DCV email (`dcvEmail`) or a CNAME record (`useCname`); `useDnsAssist` sets the DNS records for a domain managed by OVHcloud.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"dcvEmail":{"type":"string","description":"Email address used for Domain Control Validation, one of the options for ownership validation"},"hostname":{"type":"string","description":"FQDN of SSL hostname"},"useCname":{"type":"boolean","description":"Use CNAME for Domain Control Validation, one of the options for ownership validation"},"useDnsAssist":{"type":"boolean","description":"Set required Exchange DNS fields automatically if the hostname domain is managed by OVH"}},"required":["hostname","useDnsAssist"]}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/email.exchange.Task"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.post(\"/email/exchange/{organizationName}/service/{exchangeService}/changeHostname\",\n\tdcvEmail = None, # Email address used for Domain Control Validation, one of the options for ownership validation (type: string, nullable)\n\thostname = None, # FQDN of SSL hostname (type: string)\n\tuseCname = None, # Use CNAME for Domain Control Validation, one of the options for ownership validation (type: boolean, nullable)\n\tuseDnsAssist = None, # Set required Exchange DNS fields automatically if the hostname domain is managed by OVH (type: boolean)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->post(\"/email/exchange/{organizationName}/service/{exchangeService}/changeHostname\", array(\n\tdcvEmail => null, // Email address used for Domain Control Validation, one of the options for ownership validation (type: string, nullable)\n\thostname => null, // FQDN of SSL hostname (type: string)\n\tuseCname => null, // Use CNAME for Domain Control Validation, one of the options for ownership validation (type: boolean, nullable)\n\tuseDnsAssist => null, // Set required Exchange DNS fields automatically if the hostname domain is managed by OVH (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/changeHostname","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/dcvEmails":{"get":{"summary":"List DCV emails","description":"List DCV emails. Returns the email addresses that can receive the domain control validation email, when the SSL certificate expires within 30 days.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@60"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service/{exchangeService}/dcvEmails\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service/{exchangeService}/dcvEmails\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/dcvEmails/get","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/license":{"get":{"summary":"List active licenses","description":"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`.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"query","name":"fromDate","description":"Get active licenses since date ","schema":{"type":"string","format":"date"}},{"in":"query","name":"license","description":"License type","schema":{"$ref":"#/components/schemas/email.exchange.OvhLicenceEnum"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}},{"in":"query","name":"toDate","description":"Get active licenses until date","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/email.exchange.DailyLicense"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@50"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@70"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@60"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service/{exchangeService}/license\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service/{exchangeService}/license\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/license/get","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/outlookAvailability":{"get":{"summary":"List available Outlook versions","description":"List available Outlook versions. Returns whether each Outlook version and language is available. Filter by `outlookVersion` or `outlookLanguage`.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}},{"in":"query","name":"outlookLanguage","description":"Language version of outlook","schema":{"$ref":"#/components/schemas/email.exchange.LanguageEnum"}},{"in":"query","name":"outlookVersion","description":"OS version of outlook","schema":{"$ref":"#/components/schemas/email.exchange.OutlookVersionEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/email.exchange.OutlookVersions"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@60"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@80"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@70"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service/{exchangeService}/outlookAvailability\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service/{exchangeService}/outlookAvailability\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/outlookAvailability/get","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/renewSSL":{"post":{"summary":"Renew the SSL certificate","description":"Renew the SSL certificate. Renews the SSL certificate when it expires within 30 days, and returns the task. Validate the domain with a DCV email (`dcv`) or a CNAME record (`useCname`), which `useDnsAssist` creates for a domain managed by OVHcloud.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"dcv":{"type":"string","description":"DCV email require for order ssl varification process, one of the options for ownership validation"},"useCname":{"type":"boolean","description":"Use CNAME for Domain Control Validation, one of the options for ownership validation"},"useDnsAssist":{"type":"boolean","description":"Set required CNAME record automatically if the domain is managed by OVH"}}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/email.exchange.Task"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@90"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@80"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: boolean\nresult = client.post(\"/email/exchange/{organizationName}/service/{exchangeService}/renewSSL\",\n\tdcv = None, # DCV email require for order ssl varification process, one of the options for ownership validation (type: string, nullable)\n\tuseCname = None, # Use CNAME for Domain Control Validation, one of the options for ownership validation (type: boolean, nullable)\n\tuseDnsAssist = None, # Set required CNAME record automatically if the domain is managed by OVH (type: boolean, nullable)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: boolean\n$result = $ovh->post(\"/email/exchange/{organizationName}/service/{exchangeService}/renewSSL\", array(\n\tdcv => null, // DCV email require for order ssl varification process, one of the options for ownership validation (type: string, nullable)\n\tuseCname => null, // Use CNAME for Domain Control Validation, one of the options for ownership validation (type: boolean, nullable)\n\tuseDnsAssist => null, // Set required CNAME record automatically if the domain is managed by OVH (type: boolean, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/renewSSL","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/server":{"get":{"summary":"Get the server","description":"Get the server. Returns the Exchange version, state, IP addresses, disk usage, DNS record checks and Outlook Web Access MFA status of the server.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/email.exchange.Server"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@70"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@100"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@90"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service/{exchangeService}/server\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service/{exchangeService}/server\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/server/get","required":true}]},"put":{"summary":"Update the server","description":"Update the server. Updates the server settings: set `owaMfa` to enable or disable MFA on the Outlook Web Access interface.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/email.exchange.Server"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@80"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@110"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@100"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: email.exchange.Server\nresult = client.put(\"/email/exchange/{organizationName}/service/{exchangeService}/server\",\n\towaMfa = None, # Indicates if Multi Factor Authentication is activated on Outlook Web Access interface (type: boolean)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: email.exchange.Server\n$result = $ovh->put(\"/email/exchange/{organizationName}/service/{exchangeService}/server\", array(\n\towaMfa => null, // Indicates if Multi Factor Authentication is activated on Outlook Web Access interface (type: boolean)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/server/edit","required":true}]}},"/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos":{"get":{"summary":"Get service information","description":"Get service information. Returns the status, creation and expiration dates, contacts and renewal settings of the service.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.Service"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@90"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@120"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@110"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/serviceInfos/get","required":true}]},"put":{"summary":"Update service information","description":"Update service information. Updates the renewal settings of the service: automatic renewal, period, or deletion at expiration.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"exchangeService","description":"The internal name of your exchange service","required":true,"schema":{"type":"string"}},{"in":"path","name":"organizationName","description":"The internal name of your exchange organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.Service"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@100"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@130"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@120"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: services.Service\nresult = client.put(\"/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos\",\n\trenew = None, # Way of handling the renew (type: service.RenewType, nullable)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: services.Service\n$result = $ovh->put(\"/email/exchange/{organizationName}/service/{exchangeService}/serviceInfos\", array(\n\trenew => null, // Way of handling the renew (type: service.RenewType, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"emailExchange:apiovh:service/serviceInfos/edit","required":true}]}},"/msServices":{"get":{"summary":"List Active Directory services","description":"List Active Directory services. Returns the names of the Active Directory services of the account. Filter them by IAM tags with `iamTags`.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"iamTags","description":"Filter resources on IAM tags","schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/iam.resource.TagFilter"}}}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@110"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@140"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@130"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/msServices\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/msServices\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:get","required":true}],"x-expanded-response":"MsServicesActiveDirectoryOrganizationalUnitWithIAM"}},"/msServices/{serviceName}":{"get":{"summary":"Get an Active Directory service","description":"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.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The internal name of your Active Directory organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/msServices.ActiveDirectoryOrganizationalUnitWithIAM"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@120"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@150"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@140"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/msServices/{serviceName}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/msServices/{serviceName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:get","required":true}]},"put":{"summary":"Update an Active Directory service","description":"Update an Active Directory service. Updates the password policy: complexity, minimum length, minimum and maximum age, and lockout threshold, duration and observation window.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The internal name of your Active Directory organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/msServices.ActiveDirectoryOrganizationalUnit"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@130"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@160"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@150"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: msServices.ActiveDirectoryOrganizationalUnit\nresult = client.put(\"/msServices/{serviceName}\",\n\tcomplexityEnabled = None, # Flag indicating if passwords should be forced to follow Microsoft's password guidelines (type: boolean)\n\tlockoutDuration = None, # Account lock time (in minutes) when too much passwords have been tried (type: integer)\n\tlockoutObservationWindow = None, # Time (in minutes) before the password attempts counter is reset (type: integer)\n\tlockoutThreshold = None, # Maximum number of password tries before account locking (type: integer, nullable)\n\tmaxPasswordAge = None, # Maximum lifespan of passwords, in days (type: integer, nullable)\n\tminPasswordAge = None, # Minimum lifespan of passwords, in days (0 = unlimited) (type: integer, nullable)\n\tminPasswordLength = None, # Minimum number of characters passwords must contain (type: integer, nullable)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: msServices.ActiveDirectoryOrganizationalUnit\n$result = $ovh->put(\"/msServices/{serviceName}\", array(\n\tcomplexityEnabled => null, // Flag indicating if passwords should be forced to follow Microsoft's password guidelines (type: boolean)\n\tlockoutDuration => null, // Account lock time (in minutes) when too much passwords have been tried (type: integer)\n\tlockoutObservationWindow => null, // Time (in minutes) before the password attempts counter is reset (type: integer)\n\tlockoutThreshold => null, // Maximum number of password tries before account locking (type: integer, nullable)\n\tmaxPasswordAge => null, // Maximum lifespan of passwords, in days (type: integer, nullable)\n\tminPasswordAge => null, // Minimum lifespan of passwords, in days (0 = unlimited) (type: integer, nullable)\n\tminPasswordLength => null, // Minimum number of characters passwords must contain (type: integer, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:put","required":true}]}},"/msServices/{serviceName}/changeContact":{"post":{"summary":"Change service contacts","description":"Change service contacts. Starts a procedure to change the admin, tech or billing contact of the service.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The internal name of your Active Directory organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactAdmin":{"type":"string","description":"The contact to set as admin contact"},"contactBilling":{"type":"string","description":"The contact to set as billing contact"},"contactTech":{"type":"string","description":"The contact to set as tech contact"}}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@140"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@170"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@160"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: coreTypes.AccountId:string\nresult = client.post(\"/msServices/{serviceName}/changeContact\",\n\tcontactAdmin = None, # The contact to set as admin contact (type: coreTypes.AccountId:string, nullable)\n\tcontactBilling = None, # The contact to set as billing contact (type: coreTypes.AccountId:string, nullable)\n\tcontactTech = None, # The contact to set as tech contact (type: coreTypes.AccountId:string, nullable)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: coreTypes.AccountId:string\n$result = $ovh->post(\"/msServices/{serviceName}/changeContact\", array(\n\tcontactAdmin => null, // The contact to set as admin contact (type: coreTypes.AccountId:string, nullable)\n\tcontactBilling => null, // The contact to set as billing contact (type: coreTypes.AccountId:string, nullable)\n\tcontactTech => null, // The contact to set as tech contact (type: coreTypes.AccountId:string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:changeContact","required":true}]}},"/msServices/{serviceName}/exchange":{"get":{"summary":"Get the linked Exchange service","description":"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.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The internal name of your Active Directory organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/msServices.ExchangeService"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@150"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@180"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@170"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/msServices/{serviceName}/exchange\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/msServices/{serviceName}/exchange\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:exchange/get","required":true}]},"put":{"summary":"Update the linked Exchange service","description":"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.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The internal name of your Active Directory organization","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/msServices.ExchangeService"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@160"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@190"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@180"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: msServices.ExchangeService\nresult = client.put(\"/msServices/{serviceName}/exchange\",\n\tdisplayName = None, # Service family name displayed (type: string, nullable)\n\tmaxReceiveSize = None, # Maximum allowable size for received messages in MB (type: integer)\n\tmaxSendSize = None, # Maximum allowable size of sent messages in MB (type: integer)\n\tspamAndVirusConfiguration = None, # Spam and Antivirus configuration (type: msServices.SpamAndVirusConfiguration)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: msServices.ExchangeService\n$result = $ovh->put(\"/msServices/{serviceName}/exchange\", array(\n\tdisplayName => null, // Service family name displayed (type: string, nullable)\n\tmaxReceiveSize => null, // Maximum allowable size for received messages in MB (type: integer)\n\tmaxSendSize => null, // Maximum allowable size of sent messages in MB (type: integer)\n\tspamAndVirusConfiguration => null, // Spam and Antivirus configuration (type: msServices.SpamAndVirusConfiguration)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:exchange/edit","required":true}]}},"/msServices/{serviceName}/exchange/billingMigrated":{"get":{"summary":"Check the billing migration","description":"Check the billing migration. Returns `true` when the service is billed by the new OVHcloud billing system.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"The internal name of your Active Directory organization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"boolean"}}}}},"x-developer-hub-navigation":[["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Hosted Exchange","General Information@@@170"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Private Exchange","General Information@@@200"],["Web Cloud","Email and Collaborative Solutions","Microsoft Exchange","Trusted Exchange","General Information@@@190"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/msServices/{serviceName}/exchange/billingMigrated\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/msServices/{serviceName}/exchange/billingMigrated\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"microsoftServices:apiovh:exchange/billingMigrated/get","required":true}]}}}}
