# Offers & Services › Orders API

> Part of the OVHcloud developer hub. Index of every page and section: https://developers.eu.ovhcloud.com/llms.txt
> The Offers & Services product's sections: https://developers.eu.ovhcloud.com/reference/offers-services/llms.txt
> Everything in one file: https://developers.eu.ovhcloud.com/llms-full.txt

> 889 operations of the OVHcloud API. Calls carry `authorization: Bearer $OVH_TOKEN`; the EU host is shown, Canada and the United States answer on api.ca.ovhcloud.com and api.us.ovhcloud.com.

Page: https://developers.eu.ovhcloud.com/reference/offers-services/orders/

OpenAPI v1: https://api.eu.ovhcloud.com/1.0/__schemas/developer-hub-navigation/offers-services/orders.json?format=openapi3
OpenAPI v2: https://api.eu.ovhcloud.com/v2/__schemas/developer-hub-navigation/offers-services/orders.json?format=openapi3

## Operations

- `GET /me/order` — List of all the orders the logged account has
- `GET /me/order/{orderId}` — Get this object properties
- `GET /me/order/{orderId}/associatedObject` — Return main data about the object the processing of the order generated
- `GET /me/order/{orderId}/availableRegisteredPaymentMean` — List of registered payment mean you can use to pay this order
- `GET /me/order/{orderId}/balance` — List credit balances applied on this Order
- `POST /me/order/{orderId}/balance` — Use a credit balance on this Order
- `GET /me/order/{orderId}/balance/{balanceName}` — Get this object properties
- `DELETE /me/order/{orderId}/balance/{balanceName}` — Remove a credit balance from this Order
- `GET /me/order/{orderId}/consumption/details` — Retrieve order's detailed consumption information as a file
- `GET /me/order/{orderId}/debt` — Get this object properties
- `GET /me/order/{orderId}/debt/operation` — All operations related to these debts
- `GET /me/order/{orderId}/debt/operation/{operationId}` — Get this object properties
- `GET /me/order/{orderId}/debt/operation/{operationId}/associatedObject` — Return main data about the object related to this debt operation
- `POST /me/order/{orderId}/debt/pay` — Create an order in order to pay this order's debt
- `GET /me/order/{orderId}/details` — Give access to all entries of the order
- `GET /me/order/{orderId}/details/{orderDetailId}` — Get this object properties
- `GET /me/order/{orderId}/details/{orderDetailId}/extension` — Get this object properties
- `PUT /me/order/{orderId}/engagementNumber` — Set your engagement number on this order
- `GET /me/order/{orderId}/followUp` — Return tracking of the order
- `POST /me/order/{orderId}/pay` — Pay with a payment method reference
- `POST /me/order/{orderId}/payWithRegisteredPaymentMean` — Pay with an already registered payment mean
- `GET /me/order/{orderId}/payment` — Get this object properties
- `GET /me/order/{orderId}/paymentMeans` — Return main data about the object the processing of the order generated
- `GET /me/order/{orderId}/paymentMethods` — List of registered payment method you can use to pay this order
- `POST /me/order/{orderId}/retraction` — Request retraction of order
- `GET /me/order/{orderId}/status` — Return status of order
- `POST /me/order/{orderId}/waiveRetraction` — Waive retraction period of order
- `GET /order/cart` — List of your OVH order carts
- `POST /order/cart` — Create a new OVH order cart
- `GET /order/cart/{cartId}` — Retrieve information about a specific cart
- `PUT /order/cart/{cartId}` — Modify information about a specific cart
- `DELETE /order/cart/{cartId}` — Delete a cart
- `GET /order/cart/{cartId}/advisoryServicesHostingWeb` — Get informations about an Advisory Services Hosting Web support
- `POST /order/cart/{cartId}/advisoryServicesHostingWeb` — Post a new Advisory Services Hosting Web support item in your cart
- `GET /order/cart/{cartId}/advisoryServicesHostingWeb/options` — Get informations about Advisory Services Hosting Web support options
- `POST /order/cart/{cartId}/advisoryServicesHostingWeb/options` — Post a new Advisory Services Hosting Web support option in your cart
- `GET /order/cart/{cartId}/advisoryServicesPublicCloud` — Get informations about an Advisory Services Public Cloud support
- `POST /order/cart/{cartId}/advisoryServicesPublicCloud` — Post a new Advisory Services Public Cloud support item in your cart
- `GET /order/cart/{cartId}/advisoryServicesPublicCloud/options` — Get informations about Advisory Services Public Cloud support options
- `POST /order/cart/{cartId}/advisoryServicesPublicCloud/options` — Post a new Advisory Services Public Cloud support option in your cart
- `GET /order/cart/{cartId}/advisoryServicesTelecom` — Get informations about an Advisory Services Telecom support
- `POST /order/cart/{cartId}/advisoryServicesTelecom` — Post a new Advisory Services Telecom support item in your cart
- `GET /order/cart/{cartId}/advisoryServicesTelecom/options` — Get informations about Advisory Services Telecom support options
- `POST /order/cart/{cartId}/advisoryServicesTelecom/options` — Post a new Advisory Services Telecom support option in your cart
- `GET /order/cart/{cartId}/analytics` — Get information about analytics offers
- `POST /order/cart/{cartId}/analytics` — Post a new analytics item in your cart
- `GET /order/cart/{cartId}/analytics/options` — Get information about analytics options
- `POST /order/cart/{cartId}/analytics/options` — Post a new analytics addon in your cart
- `POST /order/cart/{cartId}/assign` — Assign an order cart to your account
- `GET /order/cart/{cartId}/backupServices` — Get information about BackupServices offers
- `POST /order/cart/{cartId}/backupServices` — Post a new BackupServices item in your cart
- `GET /order/cart/{cartId}/backupServices/options` — Get information about BackupServices offers
- `POST /order/cart/{cartId}/backupServices/options` — Post a new BackupServices item in your cart
- `GET /order/cart/{cartId}/baremetalServers` — Get information about a baremetal server
- `POST /order/cart/{cartId}/baremetalServers` — Post a new baremetal server item in your cart
- `GET /order/cart/{cartId}/baremetalServers/options` — Get information about baremetal server options
- `POST /order/cart/{cartId}/baremetalServers/options` — Post a new baremetal server option in your cart
- `GET /order/cart/{cartId}/bringYourOwnIp` — Get information about bring your own IP addresses offers
- `POST /order/cart/{cartId}/bringYourOwnIp` — Post a new bring your own IP addresses item in your cart
- `GET /order/cart/{cartId}/cdn` — Get information about CDN offers
- `POST /order/cart/{cartId}/cdn` — Post a new CDN item in your cart
- `GET /order/cart/{cartId}/cdn/options` — Get information about CDN options
- `POST /order/cart/{cartId}/cdn/options` — Post a new CDN option in your cart
- `GET /order/cart/{cartId}/cephaas` — Get information about Ceph as a Service offers
- `POST /order/cart/{cartId}/cephaas` — Post a new Ceph as a Service item in your cart
- `GET /order/cart/{cartId}/cephaas/options` — Get information about Ceph as a Service options
- `POST /order/cart/{cartId}/cephaas/options` — Post a new Ceph as a Service option in your cart
- `GET /order/cart/{cartId}/checkout` — Get prices and contracts information for your cart
- `POST /order/cart/{cartId}/checkout` — Validate your shopping and create order
- `GET /order/cart/{cartId}/cloud` — Get information about Public Cloud offers
- `POST /order/cart/{cartId}/cloud` — Post a new Public Cloud item in your cart
- `GET /order/cart/{cartId}/cloud/options` — Get information about Public Cloud options
- `POST /order/cart/{cartId}/cloud/options` — Post a new Public Cloud option in your cart
- `GET /order/cart/{cartId}/cloudDB` — Get all cloud db offers available
- `POST /order/cart/{cartId}/cloudDB` — Add a cloudDB in your cart
- `GET /order/cart/{cartId}/cloudweb` — Get information about Cloud Web offers
- `POST /order/cart/{cartId}/cloudweb` — Post a new Cloud Web item in your cart
- `GET /order/cart/{cartId}/cloudweb/options` — Get information about Cloud Web options
- `POST /order/cart/{cartId}/cloudweb/options` — Post a new Cloud Web option in your cart
- `GET /order/cart/{cartId}/coupon` — Retrieve coupons associated to cart
- `POST /order/cart/{cartId}/coupon` — Add a new coupon to cart
- `DELETE /order/cart/{cartId}/coupon` — Delete a coupon from cart
- `GET /order/cart/{cartId}/csp2` — Get information about SaaS CSP2 offers
- `POST /order/cart/{cartId}/csp2` — Post a new SaaS CSP2 offer item in your cart
- `GET /order/cart/{cartId}/csp2/options` — Get information about SaaS CSP2 options
- `POST /order/cart/{cartId}/csp2/options` — Post a new SaaS CSP2 option in your cart
- `GET /order/cart/{cartId}/dbaasTimeseries` — Get information about a timeseries offer
- `POST /order/cart/{cartId}/dbaasTimeseries` — Post a new timeseries offer item in your cart
- `GET /order/cart/{cartId}/dedicated` — Get information about a dedicated server
- `POST /order/cart/{cartId}/dedicated` — Post a new dedicated server item in your cart
- `GET /order/cart/{cartId}/dedicated/options` — Get information about dedicated server options
- `POST /order/cart/{cartId}/dedicated/options` — Post a new dedicated server option in your cart
- `GET /order/cart/{cartId}/dedicatedCloud` — Get information about a dedicated server
- `POST /order/cart/{cartId}/dedicatedCloud` — Post a new dedicated server item in your cart
- `GET /order/cart/{cartId}/dedicatedCloud/options` — Get information about dedicated server options
- `POST /order/cart/{cartId}/dedicatedCloud/options` — Post a new dedicated server option in your cart
- `GET /order/cart/{cartId}/dedicatedDirectSales` — Get information about a dedicated Direct Sales server
- `POST /order/cart/{cartId}/dedicatedDirectSales` — Post a new dedicated Direct Sales server item in your cart
- `GET /order/cart/{cartId}/dedicatedDirectSales/options` — Get information about dedicated Direct Sales server options
- `POST /order/cart/{cartId}/dedicatedDirectSales/options` — Post a new dedicated Direct Sales server option in your cart
- `GET /order/cart/{cartId}/dedicatedLabs` — Get information about a dedicated labs server
- `POST /order/cart/{cartId}/dedicatedLabs` — Post a new dedicated labs server item in your cart
- `GET /order/cart/{cartId}/dedicatedLabs/options` — Get information about dedicated labs server options
- `POST /order/cart/{cartId}/dedicatedLabs/options` — Post a new dedicated labs server option in your cart
- `GET /order/cart/{cartId}/dedicatedLegacy` — Get information about dedicatedLegacy
- `POST /order/cart/{cartId}/dedicatedLegacy` — Post a new dedicatedLegacy item in your cart
- `GET /order/cart/{cartId}/dedicatedLegacy/options` — Get information about the options of Ovh offers
- `POST /order/cart/{cartId}/dedicatedLegacy/options` — Post a new Ovh option in your cart
- `GET /order/cart/{cartId}/dedicatedPciVps` — Get information about a dedicated server
- `POST /order/cart/{cartId}/dedicatedPciVps` — Post a new dedicated server item in your cart
- `GET /order/cart/{cartId}/dedicatedPciVps/options` — Get information about dedicated server options
- `POST /order/cart/{cartId}/dedicatedPciVps/options` — Post a new dedicated server option in your cart
- `GET /order/cart/{cartId}/dedicatedReseller` — Get information about a dedicated server for US Reseller
- `POST /order/cart/{cartId}/dedicatedReseller` — Post a new dedicated server item in your cart
- `GET /order/cart/{cartId}/dedicatedReseller/options` — Get information about dedicated server options
- `POST /order/cart/{cartId}/dedicatedReseller/options` — Post a new dedicated server option in your cart
- `GET /order/cart/{cartId}/deskaas` — Get information about Desk As A Service offers
- `POST /order/cart/{cartId}/deskaas` — Post a new Desk as a service item in your cart
- `GET /order/cart/{cartId}/discover` — Get information about Dedicated Discover server offers
- `POST /order/cart/{cartId}/discover` — Post a new Dedicated Discover server item in your cart
- `GET /order/cart/{cartId}/discover/options` — Get information about Dedicated Discover server options
- `POST /order/cart/{cartId}/discover/options` — Post a new Dedicated Discover server option in your cart
- `GET /order/cart/{cartId}/dns` — Get information about DNS zone offer
- `POST /order/cart/{cartId}/dns` — Post a new DNS zone item in your cart
- `GET /order/cart/{cartId}/dns/options` — Get information about DNS options
- `POST /order/cart/{cartId}/dns/options` — Post a new DNS option in your cart
- `GET /order/cart/{cartId}/domain` — Get information about a domain name
- `POST /order/cart/{cartId}/domain` — Post a new domain name in your cart
- `GET /order/cart/{cartId}/domain/options` — Get information about domain names options
- `POST /order/cart/{cartId}/domain/options` — Post a new domain name option in your cart
- `GET /order/cart/{cartId}/domainPacks` — Get information about Domain packs offers (AllDom)
- `POST /order/cart/{cartId}/domainPacks` — Post a new Domain Packs item (AllDom) in your cart
- `GET /order/cart/{cartId}/domainRestore` — Get information about Domain Restore
- `GET /order/cart/{cartId}/eco` — Get information about a eco
- `POST /order/cart/{cartId}/eco` — Post a new eco item in your cart
- `GET /order/cart/{cartId}/eco/options` — Get information about the options of a Eco
- `POST /order/cart/{cartId}/eco/options` — Post a new Eco option in your cart
- `GET /order/cart/{cartId}/emailDomain` — Get all available packs available with emails packs
- `POST /order/cart/{cartId}/emailDomain` — Add a 1-domain emails pack in your cart
- `GET /order/cart/{cartId}/emailpro` — Get information about EmailPro offers
- `POST /order/cart/{cartId}/emailpro` — Post a new EmailPro item in your cart
- `GET /order/cart/{cartId}/emailpro/options` — Get information about EmailPro options
- `POST /order/cart/{cartId}/emailpro/options` — Post a new EmailPro option in your cart
- `GET /order/cart/{cartId}/exchange` — Get information about Exchange offers
- `POST /order/cart/{cartId}/exchange` — Post a new Exchange item in your cart
- `GET /order/cart/{cartId}/exchange/options` — Get information about Exchange options
- `POST /order/cart/{cartId}/exchange/options` — Post a new Exchange option in your cart
- `GET /order/cart/{cartId}/exchangeEnterprise` — Get information about Exchange Enterprise offers
- `POST /order/cart/{cartId}/exchangeEnterprise` — Post a new Exchange Enterprise item in your cart
- `GET /order/cart/{cartId}/exchangeEnterprise/options` — Get information about Exchange Enterprise options
- `POST /order/cart/{cartId}/exchangeEnterprise/options` — Post a new Exchange Enterprise option in your cart
- `GET /order/cart/{cartId}/ip` — Get information about IP addresses offers
- `POST /order/cart/{cartId}/ip` — Post a new IP addresses item in your cart
- `GET /order/cart/{cartId}/ip/options` — Get information about IP addresses options
- `POST /order/cart/{cartId}/ip/options` — Post a new IP addresses option in your cart
- `GET /order/cart/{cartId}/ipLoadbalancing` — Get information about IP Load-Balancing offers
- `POST /order/cart/{cartId}/ipLoadbalancing` — Post a new IP Load-Balancing item in your cart
- `GET /order/cart/{cartId}/ipLoadbalancing/options` — Get information about IP Load-Balancing options
- `POST /order/cart/{cartId}/ipLoadbalancing/options` — Post a new IP Load-Balancing option in your cart
- `GET /order/cart/{cartId}/ipReseller` — Get information about a IP Reseller
- `POST /order/cart/{cartId}/ipReseller` — Post a new IP Reseller item in your cart
- `GET /order/cart/{cartId}/ipSnc` — Get information about IP addresses offers for SecNumCloud environments
- `POST /order/cart/{cartId}/ipSnc` — Post a new IP addresses for SecNumCloud environments item in your cart
- `GET /order/cart/{cartId}/ipSnc/options` — Get information about IP addresses options for SecNumCloud environment
- `POST /order/cart/{cartId}/ipSnc/options` — Post a new IP addresses for SecNumCloud environment option in your cart
- `GET /order/cart/{cartId}/ispPublic` — Get information about offers
- `POST /order/cart/{cartId}/ispPublic` — Add a new item in your cart
- `GET /order/cart/{cartId}/ispPublic/options` — Get information about options
- `POST /order/cart/{cartId}/ispPublic/options` — Add a new option in your cart
- `GET /order/cart/{cartId}/ispReseller` — Get information about offers
- `POST /order/cart/{cartId}/ispReseller` — Add a new item in your cart
- `GET /order/cart/{cartId}/ispReseller/options` — Get information about options
- `POST /order/cart/{cartId}/ispReseller/options` — Post a new option in your cart
- `GET /order/cart/{cartId}/item` — List all the items of a cart
- `GET /order/cart/{cartId}/item/{itemId}` — Retrieve information about a specific item of a cart
- `PUT /order/cart/{cartId}/item/{itemId}` — Update some values on a cart item
- `DELETE /order/cart/{cartId}/item/{itemId}` — Delete an item from a cart
- `GET /order/cart/{cartId}/item/{itemId}/configuration` — Retrieve all configuration item of the cart item
- `POST /order/cart/{cartId}/item/{itemId}/configuration` — Setup configuration item for the product
- `GET /order/cart/{cartId}/item/{itemId}/configuration/{configurationId}` — Retrieve configuration item
- `DELETE /order/cart/{cartId}/item/{itemId}/configuration/{configurationId}` — Delete configuration item
- `GET /order/cart/{cartId}/item/{itemId}/requiredConfiguration` — Retrieve all required configuration item of the cart item
- `GET /order/cart/{cartId}/kubernetes` — Get information about Kubernetes offers
- `POST /order/cart/{cartId}/kubernetes` — Post a new Kubernetes item in your cart
- `GET /order/cart/{cartId}/kubernetes/options` — Get information about Kubernetes options
- `POST /order/cart/{cartId}/kubernetes/options` — Post a new Kubernetes option in your cart
- `GET /order/cart/{cartId}/licenseHycu` — Get information about HYCU licenses offers
- `POST /order/cart/{cartId}/licenseHycu` — Add a new HYCU license item in your cart
- `GET /order/cart/{cartId}/licensePlesk` — Get information about Plesk licenses offers
- `POST /order/cart/{cartId}/licensePlesk` — Post a new Plesk license item in your cart
- `GET /order/cart/{cartId}/licensePlesk/options` — Get information about Plesk license options
- `POST /order/cart/{cartId}/licensePlesk/options` — Post a new Plesk license option in your cart
- `GET /order/cart/{cartId}/licenseSqlServer` — Get information about SqlServer licenses offers
- `POST /order/cart/{cartId}/licenseSqlServer` — Post a new SqlServer license item in your cart
- `GET /order/cart/{cartId}/licenseWindows` — Get information about Windows licenses offers
- `POST /order/cart/{cartId}/licenseWindows` — Post a new Windows license item in your cart
- `GET /order/cart/{cartId}/licensecPanel` — Get information about cPanel licenses offers
- `POST /order/cart/{cartId}/licensecPanel` — Post a new cPanel license item in your cart
- `GET /order/cart/{cartId}/logs` — Get information about Logs offers
- `POST /order/cart/{cartId}/logs` — Post a new Logs item in your cart
- `GET /order/cart/{cartId}/logs/options` — Get information about Logs options
- `POST /order/cart/{cartId}/logs/options` — Post a new Logs option in your cart
- `GET /order/cart/{cartId}/managedCMS` — Get information about Managed CMS offers
- `POST /order/cart/{cartId}/managedCMS` — Post a new Managed CMS item in your cart
- `GET /order/cart/{cartId}/managedCMS/options` — Get information about Managed CMS options
- `POST /order/cart/{cartId}/managedCMS/options` — Post a new Managed CMS option in your cart
- `GET /order/cart/{cartId}/managedServices` — Get information about Managed Services offers
- `POST /order/cart/{cartId}/managedServices` — Post a new Managed Services item in your cart
- `GET /order/cart/{cartId}/managedServices/options` — Get information about Managed Services options
- `POST /order/cart/{cartId}/managedServices/options` — Post a new Managed Services option in your cart
- `GET /order/cart/{cartId}/metrics` — Get information about Metrics offers
- `POST /order/cart/{cartId}/metrics` — Post a new Metrics item in your cart
- `GET /order/cart/{cartId}/metrics/options` — Get information about Metrics options
- `POST /order/cart/{cartId}/metrics/options` — Post a new Metrics option in your cart
- `GET /order/cart/{cartId}/microsoft` — Get information about Microsoft offers
- `POST /order/cart/{cartId}/microsoft` — Post a new Microsoft offer item in your cart
- `GET /order/cart/{cartId}/microsoft/options` — Get information about Microsoft options
- `POST /order/cart/{cartId}/microsoft/options` — Post a new Microsoft option in your cart
- `GET /order/cart/{cartId}/nasha` — Get information about NAS HA offers
- `POST /order/cart/{cartId}/nasha` — Post a new NAS HA item in your cart
- `GET /order/cart/{cartId}/nasha/options` — Get information about NAS HA options
- `POST /order/cart/{cartId}/nasha/options` — Post a new NAS HA option in your cart
- `GET /order/cart/{cartId}/netapp` — Get information about NetApp offers
- `POST /order/cart/{cartId}/netapp` — Post a new NetApp offer item in your cart
- `GET /order/cart/{cartId}/netapp/options` — Get information about NetApp options
- `POST /order/cart/{cartId}/netapp/options` — Post a new NetApp option in your cart
- `GET /order/cart/{cartId}/nutanix` — Get information about a Nutanix
- `POST /order/cart/{cartId}/nutanix` — Post a new Nutanix item in your cart
- `GET /order/cart/{cartId}/nutanix/options` — Get information about the options of a Nutanix
- `POST /order/cart/{cartId}/nutanix/options` — Post a new Nutanix option in your cart
- `GET /order/cart/{cartId}/office365` — Get information about Office 365 licenses
- `POST /order/cart/{cartId}/office365` — Post a new Office 365 item in your cart
- `GET /order/cart/{cartId}/office365/options` — Get information about Office 365 options
- `POST /order/cart/{cartId}/office365/options` — Post a new Office 365 option in your cart
- `GET /order/cart/{cartId}/office365Prepaid` — Get information about Office 365 Prepaid licenses
- `POST /order/cart/{cartId}/office365Prepaid` — Post a new Office 365 Prepaid item in your cart
- `GET /order/cart/{cartId}/office365Prepaid/options` — Get information about Office 365 Prepaid options
- `POST /order/cart/{cartId}/office365Prepaid/options` — Post a new Office 365 Prepaid option in your cart
- `GET /order/cart/{cartId}/officePrepaid` — Get information about a officePrepaid
- `POST /order/cart/{cartId}/officePrepaid` — Post a new officePrepaid item in your cart
- `GET /order/cart/{cartId}/officePrepaid/options` — Get information about officePrepaid options
- `POST /order/cart/{cartId}/officePrepaid/options` — Post a new officePrepaid option in your cart
- `GET /order/cart/{cartId}/okms` — Get all OVHcloud KMS offers available
- `POST /order/cart/{cartId}/okms` — Add an OVHcloud KMS offer in your cart
- `GET /order/cart/{cartId}/otb` — Get information about OverTheBox offers
- `POST /order/cart/{cartId}/otb` — Post a new OverTheBox item in your cart
- `GET /order/cart/{cartId}/otb/options` — Get information about OverTheBox options
- `POST /order/cart/{cartId}/otb/options` — Post a new OverTheBox option in your cart
- `GET /order/cart/{cartId}/otbReseller` — Get information about OverTheBox offers
- `POST /order/cart/{cartId}/otbReseller` — Post a new OverTheBox item in your cart
- `GET /order/cart/{cartId}/otbReseller/options` — Get information about OverTheBox options
- `POST /order/cart/{cartId}/otbReseller/options` — Post a new OverTheBox option in your cart
- `GET /order/cart/{cartId}/ovhCloudConnect` — Get information about OVHcloud Connect offers
- `POST /order/cart/{cartId}/ovhCloudConnect` — Post a new OVHcloud Connect item in your cart
- `GET /order/cart/{cartId}/paasmon` — Get information about PaaS Monitoring offers
- `POST /order/cart/{cartId}/paasmon` — Post a new PaaS Monitoring item in your cart
- `GET /order/cart/{cartId}/packsProfessionalServices` — Get information about a packs professional services
- `POST /order/cart/{cartId}/packsProfessionalServices` — Post a new packs professional services item in your cart
- `GET /order/cart/{cartId}/packsProfessionalServices/options` — Get information about packs professional services options
- `POST /order/cart/{cartId}/packsProfessionalServices/options` — Post a new packs professional services option in your cart
- `GET /order/cart/{cartId}/powerHosting` — Get information about power hosting offer
- `POST /order/cart/{cartId}/powerHosting` — Post a new power hosting item in your cart
- `GET /order/cart/{cartId}/privateCloud` — Get information about Hosted Private Cloud offers
- `POST /order/cart/{cartId}/privateCloud` — Post a new Hosted Private Cloud item in your cart
- `GET /order/cart/{cartId}/privateCloud/options` — Get information about Hosted Private Cloud options
- `POST /order/cart/{cartId}/privateCloud/options` — Post a new Hosted Private Cloud option in your cart
- `GET /order/cart/{cartId}/privateCloudCDI` — Get information about Private Cloud CDI offers
- `POST /order/cart/{cartId}/privateCloudCDI` — Post a new Private Cloud CDI item in your cart
- `GET /order/cart/{cartId}/privateCloudCDI/options` — Get information about Private Cloud CDI options
- `POST /order/cart/{cartId}/privateCloudCDI/options` — Post a new Private Cloud CDI option in your cart
- `GET /order/cart/{cartId}/privateCloudDC` — Get information about Private Cloud Dedicated Cloud offers
- `POST /order/cart/{cartId}/privateCloudDC` — Post a new Private Cloud Dedicated Cloud item in your cart
- `GET /order/cart/{cartId}/privateCloudDC/options` — Get information about Private Cloud Dedicated Cloud options
- `POST /order/cart/{cartId}/privateCloudDC/options` — Post a new Private Cloud Dedicated Cloud option in your cart
- `GET /order/cart/{cartId}/privateCloudEnterprise` — Get information about Hosted Private Cloud offers
- `POST /order/cart/{cartId}/privateCloudEnterprise` — Post a new Hosted Private Cloud item in your cart
- `GET /order/cart/{cartId}/privateCloudEnterprise/options` — Get information about Hosted Private Cloud options
- `POST /order/cart/{cartId}/privateCloudEnterprise/options` — Post a new Hosted Private Cloud option in your cart
- `GET /order/cart/{cartId}/privateCloudReseller` — Get information about Private Cloud Reseller offers
- `POST /order/cart/{cartId}/privateCloudReseller` — Post a new Private Cloud Reseller item in your cart
- `GET /order/cart/{cartId}/privateCloudReseller/options` — Get information about Private Cloud Reseller options
- `POST /order/cart/{cartId}/privateCloudReseller/options` — Post a new Private Cloud Reseller option in your cart
- `GET /order/cart/{cartId}/privateCloudResellerEnterprise` — Get information about Private Cloud Reseller Enterprise offers
- `POST /order/cart/{cartId}/privateCloudResellerEnterprise` — Post a new Private Cloud Reseller Enterprise item in your cart
- `GET /order/cart/{cartId}/privateCloudResellerEnterprise/options` — Get information about Private Cloud Reseller Enterprise options
- `POST /order/cart/{cartId}/privateCloudResellerEnterprise/options` — Post a new Private Cloud Reseller Enterprise option in your cart
- `GET /order/cart/{cartId}/privateCloudSDDC` — Get information about Private Cloud SDDC offers
- `POST /order/cart/{cartId}/privateCloudSDDC` — Post a new Private Cloud SDDC item in your cart
- `GET /order/cart/{cartId}/privateCloudSDDC/options` — Get information about Private Cloud SDDC options
- `POST /order/cart/{cartId}/privateCloudSDDC/options` — Post a new Private Cloud SDDC option in your cart
- `GET /order/cart/{cartId}/privateSQL` — Get all privateSQL offers available
- `POST /order/cart/{cartId}/privateSQL` — Add a privateSQL in your cart
- `GET /order/cart/{cartId}/reseller` — Get information about Reseller offers
- `POST /order/cart/{cartId}/reseller` — Post a new Reseller offer item in your cart
- `GET /order/cart/{cartId}/sharepoint` — Get information about Sharepoint offers
- `POST /order/cart/{cartId}/sharepoint` — Post a new Sharepoint offer item in your cart
- `GET /order/cart/{cartId}/sharepoint/options` — Get information about Sharepoint options
- `POST /order/cart/{cartId}/sharepoint/options` — Post a new Sharepoint option in your cart
- `GET /order/cart/{cartId}/sms` — Get information about SMS offers
- `POST /order/cart/{cartId}/sms` — Post a new SMS item in your cart
- `GET /order/cart/{cartId}/sncCloudPlatform` — Get information about a SNC Cloud Platform
- `POST /order/cart/{cartId}/sncCloudPlatform` — Post a new SNC Cloud Platform item in your cart
- `GET /order/cart/{cartId}/sncCloudPlatform/options` — Get information about SNC Cloud Platform options
- `POST /order/cart/{cartId}/sncCloudPlatform/options` — Post a new SNC Cloud Platform option in your cart
- `GET /order/cart/{cartId}/sncNetworkServices` — Get information about sncNetworkServices offers
- `POST /order/cart/{cartId}/sncNetworkServices` — Post a new sncNetworkServices item in your cart
- `GET /order/cart/{cartId}/sncNetworkServices/options` — Get information about sncNetworkServices addons
- `POST /order/cart/{cartId}/sncNetworkServices/options` — Post a new sncNetworkServices addon in your cart
- `GET /order/cart/{cartId}/sslComodo` — Get information about SSL Comodo offers
- `POST /order/cart/{cartId}/sslComodo` — Post a new SSL Comodo item in your cart
- `GET /order/cart/{cartId}/sslComodo/options` — Get information about SSL Comodo options
- `POST /order/cart/{cartId}/sslComodo/options` — Post a new SSL Comodo option in your cart
- `GET /order/cart/{cartId}/sslGateway` — Get information about SSL Gateway offers
- `POST /order/cart/{cartId}/sslGateway` — Post a new SSL Gateway item in your cart
- `GET /order/cart/{cartId}/sslGateway/options` — Get information about SSL Gateway options
- `POST /order/cart/{cartId}/sslGateway/options` — Post a new SSL Gateway option in your cart
- `GET /order/cart/{cartId}/summary` — Get a summary of your current order
- `GET /order/cart/{cartId}/support` — Get all support offers available
- `POST /order/cart/{cartId}/support` — Add a support offer in your cart
- `GET /order/cart/{cartId}/telephony` — Get information about VoIP offers
- `POST /order/cart/{cartId}/telephony` — Post a new VoIP item in your cart
- `GET /order/cart/{cartId}/telephony/options` — Get information about VoIP options
- `POST /order/cart/{cartId}/telephony/options` — Post a new VoIP option in your cart
- `GET /order/cart/{cartId}/vac` — Get all VAC offers available
- `POST /order/cart/{cartId}/vac` — Add a VAC offer in your cart
- `GET /order/cart/{cartId}/vcdaMigration` — Get information about VcdaMigration offers
- `POST /order/cart/{cartId}/vcdaMigration` — Post a new VcdaMigration item in your cart
- `GET /order/cart/{cartId}/vcdaMigration/options` — Get information about VcdaMigration offers
- `POST /order/cart/{cartId}/vcdaMigration/options` — Post a new VcdaMigration item in your cart
- `GET /order/cart/{cartId}/vdi` — Get information about Horizon View offers
- `POST /order/cart/{cartId}/vdi` — Post a new Horizon View item in your cart
- `GET /order/cart/{cartId}/vdi/options` — Get information about Horizon View options
- `POST /order/cart/{cartId}/vdi/options` — Post a new Horizon View option in your cart
- `GET /order/cart/{cartId}/veeamEnterprise` — Get information about Veeam Enterprise offers
- `POST /order/cart/{cartId}/veeamEnterprise` — Post a new Veeam Enterprise item in your cart
- `GET /order/cart/{cartId}/veeamEnterprise/options` — Get information about Veeam Enterprise options
- `POST /order/cart/{cartId}/veeamEnterprise/options` — Post a new Veeam Enterprise option in your cart
- `GET /order/cart/{cartId}/veeamcc` — Get information about Veeam Cloud Connect offers
- `POST /order/cart/{cartId}/veeamcc` — Post a new Veeam Cloud Connect item in your cart
- `GET /order/cart/{cartId}/veeamcc/options` — Get information about Veeam Cloud Connect options
- `POST /order/cart/{cartId}/veeamcc/options` — Post a new Veeam Cloud Connect option in your cart
- `GET /order/cart/{cartId}/videocenter` — Get information about a video-center
- `POST /order/cart/{cartId}/videocenter` — Post a new video-center item in your cart
- `GET /order/cart/{cartId}/videocenter/options` — Get information about video-center options
- `POST /order/cart/{cartId}/videocenter/options` — Post a new video-center option in your cart
- `GET /order/cart/{cartId}/vmwareCloudDirector` — Get information about VMware Cloud Director offers
- `POST /order/cart/{cartId}/vmwareCloudDirector` — Post a new VMware Cloud Director item in your cart
- `GET /order/cart/{cartId}/vmwareCloudDirector/options` — Get information about VMware Cloud Director offers
- `POST /order/cart/{cartId}/vmwareCloudDirector/options` — Post a new VMware Cloud Director item in your cart
- `GET /order/cart/{cartId}/vmwareCloudDirectorBackup` — Get information about Veeam Managed Backup Service for VMware Cloud Director offers
- `POST /order/cart/{cartId}/vmwareCloudDirectorBackup` — Post a new Veeam Managed Backup Service for VMware Cloud Director item in your cart
- `GET /order/cart/{cartId}/vmwareCloudDirectorBackup/options` — Get information about Veeam Managed Backup Service for VMware Cloud Director offers
- `POST /order/cart/{cartId}/vmwareCloudDirectorBackup/options` — Post a new Veeam Managed Backup Service for VMware Cloud Director item in your cart
- `GET /order/cart/{cartId}/vps` — Get information about VPS offers
- `POST /order/cart/{cartId}/vps` — Post a new VPS item in your cart
- `GET /order/cart/{cartId}/vps/options` — Get information about VPS options
- `POST /order/cart/{cartId}/vps/options` — Post a new VPS option in your cart
- `GET /order/cart/{cartId}/vrack` — Get information about vRack offers
- `POST /order/cart/{cartId}/vrack` — Post a new vRack item in your cart
- `GET /order/cart/{cartId}/vrack/options` — Get information about vRack options
- `POST /order/cart/{cartId}/vrack/options` — Post a new vRack option in your cart
- `GET /order/cart/{cartId}/vrackReseller` — Get information about vRack offers
- `POST /order/cart/{cartId}/vrackReseller` — Post a new vRack item in your cart
- `GET /order/cart/{cartId}/vrackServices` — Get information about vRack Services offers
- `POST /order/cart/{cartId}/vrackServices` — Post a new vRack Services item in your cart
- `GET /order/cart/{cartId}/webHosting` — Get information about webHosting offers
- `POST /order/cart/{cartId}/webHosting` — Post a new webHosting item in your cart
- `GET /order/cart/{cartId}/webHosting/options` — Get information about webHosting options
- `POST /order/cart/{cartId}/webHosting/options` — Post a new webHosting option in your cart
- `GET /order/cart/{cartId}/xdsl` — Get information about xdsl offers
- `POST /order/cart/{cartId}/xdsl` — Post a new xdsl item in your cart
- `GET /order/cart/{cartId}/xdsl/options` — Get information about xdsl options
- `POST /order/cart/{cartId}/xdsl/options` — Post a new xdsl option in your cart
- `GET /order/cart/{cartId}/zimbra` — Get information about zimbra offers
- `POST /order/cart/{cartId}/zimbra` — Post a new zimbra item in your cart
- `GET /order/cart/{cartId}/zimbra/options` — Get information about Zimbra addons
- `POST /order/cart/{cartId}/zimbra/options` — Post a new zimbra addon in your cart
- `GET /order/cartServiceOption/backupServices` — List available services
- `GET /order/cartServiceOption/backupServices/{serviceName}` — Get information about Backup service offers for your service
- `POST /order/cartServiceOption/backupServices/{serviceName}` — Post an additional Backup service option in your cart
- `GET /order/cartServiceOption/backupServicesAdvanced` — List available services
- `GET /order/cartServiceOption/backupServicesAdvanced/{serviceName}` — Get information about Backup service offers for your VSPC tenant
- `POST /order/cartServiceOption/backupServicesAdvanced/{serviceName}` — Post an additional Backup service option on your VSPC tenant in your cart
- `GET /order/cartServiceOption/baremetalServers` — List available services
- `GET /order/cartServiceOption/baremetalServers/{serviceName}` — Get informations about additional baremetal servers offer for your service
- `POST /order/cartServiceOption/baremetalServers/{serviceName}` — Post an additional baremetal servers option in your cart
- `GET /order/cartServiceOption/cloud` — List available services
- `GET /order/cartServiceOption/cloud/{serviceName}` — Get informations about additional Cloud offer for your service
- `POST /order/cartServiceOption/cloud/{serviceName}` — Post an additional Cloud option in your cart
- `GET /order/cartServiceOption/dedicated` — List available services
- `GET /order/cartServiceOption/dedicated/{serviceName}` — Get informations about additional dedicated offer for your service
- `POST /order/cartServiceOption/dedicated/{serviceName}` — Post an additional dedicated option in your cart
- `GET /order/cartServiceOption/dns` — List available services
- `GET /order/cartServiceOption/dns/{serviceName}` — Get informations about additional Domain offer for your service
- `POST /order/cartServiceOption/dns/{serviceName}` — Post an additional Domain option in your cart
- `GET /order/cartServiceOption/domain` — List available services
- `GET /order/cartServiceOption/domain/{serviceName}` — Get informations about additional Domain offer for your service
- `POST /order/cartServiceOption/domain/{serviceName}` — Post an additional Domain option in your cart
- `GET /order/cartServiceOption/emailpro` — List available services
- `GET /order/cartServiceOption/emailpro/{serviceName}` — Get informations about additional EmailPro offer for your service
- `POST /order/cartServiceOption/emailpro/{serviceName}` — Post an additional EmailPro option in your cart
- `GET /order/cartServiceOption/ipLoadbalancing` — List available services
- `GET /order/cartServiceOption/ipLoadbalancing/{serviceName}` — Get informations about additional IP Load-Balancing offer for your service
- `POST /order/cartServiceOption/ipLoadbalancing/{serviceName}` — Post an additional IP Load-Balancing option in your cart
- `GET /order/cartServiceOption/licenseHycu` — List available services
- `GET /order/cartServiceOption/licenseHycu/{serviceName}` — Get information about addons offer for your license
- `POST /order/cartServiceOption/licenseHycu/{serviceName}` — Post an addon of license in your cart
- `GET /order/cartServiceOption/logs` — List available services
- `GET /order/cartServiceOption/logs/{serviceName}` — Get informations about additional Logs offer for your service
- `POST /order/cartServiceOption/logs/{serviceName}` — Post an additional Logs option in your cart
- `GET /order/cartServiceOption/microsoft` — List available services
- `GET /order/cartServiceOption/microsoft/{serviceName}` — Get informations about additional Microsoft offer for your service
- `POST /order/cartServiceOption/microsoft/{serviceName}` — Post an additional Microsoft option in your cart
- `GET /order/cartServiceOption/microsoftExchange` — List available services
- `GET /order/cartServiceOption/microsoftExchange/{serviceName}` — Get informations about additional Microsoft offer for your service
- `POST /order/cartServiceOption/microsoftExchange/{serviceName}` — Post an additional Microsoft option in your cart
- `GET /order/cartServiceOption/nutanix` — List available services
- `GET /order/cartServiceOption/nutanix/{serviceName}` — Get informations about additional Nutanix offer for your service
- `POST /order/cartServiceOption/nutanix/{serviceName}` — Post an additional nutanix option in your cart
- `GET /order/cartServiceOption/office365Prepaid` — List available services
- `GET /order/cartServiceOption/office365Prepaid/{serviceName}` — Get informations about additional Office offer for your service
- `POST /order/cartServiceOption/office365Prepaid/{serviceName}` — Post an additional Office option in your cart
- `GET /order/cartServiceOption/officePrepaid` — List available services
- `GET /order/cartServiceOption/officePrepaid/{serviceName}` — Get informations about additional officePrepaid offer for your service
- `POST /order/cartServiceOption/officePrepaid/{serviceName}` — Post an additional officePrepaid option in your cart
- `GET /order/cartServiceOption/privateCloud` — List available services
- `GET /order/cartServiceOption/privateCloud/{serviceName}` — Get informations about additional Dedicated Cloud offer for your service
- `POST /order/cartServiceOption/privateCloud/{serviceName}` — Post an additional Dedicated Cloud option in your cart
- `GET /order/cartServiceOption/privateCloudEnterprise` — List available services
- `GET /order/cartServiceOption/privateCloudEnterprise/{serviceName}` — Get informations about additional Dedicated Cloud offer for your service
- `POST /order/cartServiceOption/privateCloudEnterprise/{serviceName}` — Post an additional Dedicated Cloud option in your cart
- `GET /order/cartServiceOption/privateCloudReseller` — List available services
- `GET /order/cartServiceOption/privateCloudReseller/{serviceName}` — Get informations about additional Dedicated Cloud offer for your service
- `POST /order/cartServiceOption/privateCloudReseller/{serviceName}` — Post an additional Dedicated Cloud option in your cart
- `GET /order/cartServiceOption/privateCloudResellerEnterprise` — List available services
- `GET /order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}` — Get informations about additional Dedicated Cloud Enterprise offer for your service
- `POST /order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}` — Post an additional Dedicated Cloud Enterprise option in your cart
- `GET /order/cartServiceOption/sharepoint` — List available services
- `GET /order/cartServiceOption/sharepoint/{serviceName}` — Get informations about additional Sharepoint offer for your service
- `POST /order/cartServiceOption/sharepoint/{serviceName}` — Post an additional Sharepoint option in your cart
- `GET /order/cartServiceOption/sms` — List available services
- `GET /order/cartServiceOption/sms/{serviceName}` — Get information about additional SMS offer for your service
- `POST /order/cartServiceOption/sms/{serviceName}` — Post an additional SMS option in your cart
- `GET /order/cartServiceOption/sncNetworkServices` — List available services
- `GET /order/cartServiceOption/sncNetworkServices/{serviceName}` — Get information about additional SNC Connectivity Network offer for your service
- `POST /order/cartServiceOption/sncNetworkServices/{serviceName}` — Post an additional SNC Connectivity Network option in your cart
- `GET /order/cartServiceOption/sslGateway` — List available services
- `GET /order/cartServiceOption/sslGateway/{serviceName}` — Get informations about additional SSL Gateway offer for your service
- `POST /order/cartServiceOption/sslGateway/{serviceName}` — Post an additional SSL Gateway option in your cart
- `GET /order/cartServiceOption/vcdaMigration` — List available services
- `GET /order/cartServiceOption/vcdaMigration/{serviceName}` — Get information about vcda migrtation offers for your service
- `GET /order/cartServiceOption/vdi` — List available services
- `GET /order/cartServiceOption/vdi/{serviceName}` — Get informations about additional Horizon View offer for your service
- `POST /order/cartServiceOption/vdi/{serviceName}` — Post an additional Horizon View option in your cart
- `GET /order/cartServiceOption/vmwareCloudDirector` — List available services
- `GET /order/cartServiceOption/vmwareCloudDirector/{serviceName}` — Get information about additional VMware Cloud Director offer for your service
- `POST /order/cartServiceOption/vmwareCloudDirector/{serviceName}` — Post an additional VMware Cloud Director option in your cart
- `GET /order/cartServiceOption/vmwareCloudDirectorBackup` — List available services
- `GET /order/cartServiceOption/vmwareCloudDirectorBackup/{serviceName}` — Get information about Veeam Managed Backup offer for your service
- `GET /order/cartServiceOption/vps` — List available services
- `GET /order/cartServiceOption/vps/{serviceName}` — Get informations about additional VPS offer for your service
- `POST /order/cartServiceOption/vps/{serviceName}` — Post an additional VPS option in your cart
- `GET /order/cartServiceOption/vrack` — List available services
- `GET /order/cartServiceOption/vrack/{serviceName}` — Get informations about additional vRack offer for your service
- `POST /order/cartServiceOption/vrack/{serviceName}` — Post an additional vRack option in your cart
- `GET /order/cartServiceOption/vrackServices` — List available services
- `GET /order/cartServiceOption/vrackServices/{serviceName}` — Get informations about additional vrackServices offer for your service
- `POST /order/cartServiceOption/vrackServices/{serviceName}` — Add an additional vrackServices option in your cart
- `GET /order/cartServiceOption/webHosting` — List available services
- `GET /order/cartServiceOption/webHosting/{serviceName}` — Get informations about additional Web Hosting offer for your service
- `POST /order/cartServiceOption/webHosting/{serviceName}` — Post an additional Web Hosting option in your cart
- `GET /order/catalog/formatted` — Retrieve list of catalog name
- `GET /order/catalog/formatted/baremetalServers` — List the servers of the public bare-metal catalog for a subsidiary
- `GET /order/catalog/formatted/bringYourOwnIp` — Retrieve information of bring your own IP addresses catalog
- `GET /order/catalog/formatted/cloud` — Retrieve information of Public Cloud catalog
- `GET /order/catalog/formatted/dedicated` — Retrieve information of dedicated server catalog
- `GET /order/catalog/formatted/discover` — Retrieve information of dedicated discover offer server catalog
- `GET /order/catalog/formatted/domain` — List the domain extensions of the public catalog for a subsidiary
- `GET /order/catalog/formatted/domain/alternativeNames` — List available domain names close to a domain name, with their prices
- `GET /order/catalog/formatted/eco` — List the servers of the public eco catalog for a subsidiary
- `GET /order/catalog/formatted/ip` — Retrieve information of IP addresses catalog
- `GET /order/catalog/formatted/licenseHycu` — Retrieve information of HYCU licenses catalog
- `GET /order/catalog/formatted/licensePlesk` — Retrieve information of Plesk licenses catalog
- `GET /order/catalog/formatted/licenseSqlServer` — Retrieve information of SqlServer licenses catalog
- `GET /order/catalog/formatted/licenseWindows` — Retrieve information of Windows licenses catalog
- `GET /order/catalog/formatted/licensecPanel` — Retrieve information of cPanel licenses catalog
- `GET /order/catalog/formatted/logs` — Retrieve information of Logs Data Platform catalog
- `GET /order/catalog/formatted/privateCloud` — Retrieve information of Dedicated Cloud catalog
- `GET /order/catalog/formatted/privateCloudCDI` — Retrieve information of Dedicated Cloud CDI catalog
- `GET /order/catalog/formatted/privateCloudDC` — Retrieve information of Dedicated Cloud catalog
- `GET /order/catalog/formatted/privateCloudEnterprise` — Retrieve information of Hosted Dedicated Cloud Enterprise catalog
- `GET /order/catalog/formatted/privateCloudReseller` — Retrieve information of Dedicated Cloud Reseller catalog
- `GET /order/catalog/formatted/privateCloudResellerEnterprise` — Retrieve information of Dedicated Cloud Reseller Enterprise catalog
- `GET /order/catalog/formatted/privateCloudSDDC` — Retrieve information of Dedicated Cloud SDDC catalog
- `GET /order/catalog/formatted/reseller` — Retrieve information of Reseller catalog
- `GET /order/catalog/formatted/vps` — Retrieve information of VPS catalog
- `GET /order/catalog/formatted/webHosting` — List the web hosting offers of the public catalog for a subsidiary
- `GET /order/catalog/private/domainReseller` — Retrieve information of domain reseller catalog
- `GET /order/catalog/private/ipSnc` — Retrieve information of domain reseller catalog
- `GET /order/catalog/private/plan` — Retrieve plans from a product's private catalog
- `GET /order/catalog/private/privateCloud` — Retrieve information of catalog
- `GET /order/catalog/private/sncCloudPlatform` — Retrieve information of domain reseller catalog
- `GET /order/catalog/public/advisoryServicesHostingWeb` — Retrieve Advisory Services Hosting Web support catalog
- `GET /order/catalog/public/advisoryServicesPublicCloud` — Retrieve Advisory Services Public Cloud support catalog
- `GET /order/catalog/public/advisoryServicesTelecom` — Retrieve Advisory Services Telecom support catalog
- `GET /order/catalog/public/backupServices` — Retrieve backupServices catalog
- `GET /order/catalog/public/baremetalServers` — Retrieve bare-metal servers catalog
- `GET /order/catalog/public/cephaas` — Retrieve cephaas catalog
- `GET /order/catalog/public/cloud` — Retrieve Public Cloud catalog
- `GET /order/catalog/public/cloudDB` — Retrieve Cloud DB catalog
- `GET /order/catalog/public/dns` — Retrieve DNS catalog
- `GET /order/catalog/public/domain` — Retrieve domain catalog
- `GET /order/catalog/public/domain/plan` — Retrieve plans from domain catalog
- `GET /order/catalog/public/eco` — Retrieve Eco catalog
- `GET /order/catalog/public/emailDomain` — Retrieve Email Domain catalog
- `GET /order/catalog/public/emailpro` — Retrieve emailpro catalog
- `GET /order/catalog/public/exchange` — Retrieve exchange catalog
- `GET /order/catalog/public/ipLoadbalancing` — Retrieve IP Load Balancing catalog
- `GET /order/catalog/public/licenseHycu` — Retrieve License HYCU catalog
- `GET /order/catalog/public/licensePlesk` — Retrieve License Plesk catalog
- `GET /order/catalog/public/licenseSqlServer` — Retrieve License SqlServer catalog
- `GET /order/catalog/public/licenseWindows` — Retrieve License Windows catalog
- `GET /order/catalog/public/licensecPanel` — Retrieve License cPanel catalog
- `GET /order/catalog/public/logs` — Retrieve Logs catalog
- `GET /order/catalog/public/managedCMS` — Get the Managed CMS catalog
- `GET /order/catalog/public/nasha` — Retrieve nasha catalog
- `GET /order/catalog/public/netapp` — Retrieve Netapp catalog
- `GET /order/catalog/public/nutanix` — Retrieve Nutanix clusters catalog
- `GET /order/catalog/public/office365Prepaid` — Retrieve office365Prepaid catalog
- `GET /order/catalog/public/officePrepaid` — Retrieve Office Prepaid catalog
- `GET /order/catalog/public/okms` — Retrieve OVHcloud KMS catalog
- `GET /order/catalog/public/ovhCloudConnect` — Retrieve OVH Cloud Connect catalog
- `GET /order/catalog/public/packsProfessionalServices` — Retrieve packs_professional_services catalog
- `GET /order/catalog/public/plan` — Retrieve plans from a product's catalog
- `GET /order/catalog/public/privateCloud` — Retrieve Dedicated Cloud catalog
- `GET /order/catalog/public/privateCloudEnterprise` — Retrieve Private Cloud Enterprise catalog
- `GET /order/catalog/public/privateSQL` — Retrieve Private SQL catalog
- `GET /order/catalog/public/sslGateway` — Retrieve SSL Gateway catalog
- `GET /order/catalog/public/telephony` — Retrieve Telephony catalog
- `GET /order/catalog/public/vac` — Retrieve vac catalog
- `GET /order/catalog/public/vcdaMigration` — Retrieve vcdaMigration catalog
- `GET /order/catalog/public/videocenter` — Get the Video Center catalog
- `GET /order/catalog/public/vmwareCloudDirector` — Retrieve vmwareCloudDirector catalog
- `GET /order/catalog/public/vmwareCloudDirectorBackup` — Retrieve vmwareCloudDirectorBackup catalog
- `GET /order/catalog/public/vps` — Retrieve VPS catalog
- `GET /order/catalog/public/webHosting` — Retrieve Web Hosting catalog
- `GET /order/catalog/public/webPaaS` — Retrieve Web PaaS catalog
- `GET /order/catalog/public/zimbra` — Retrieve zimbra catalog
- `GET /order/cdn/dedicated` — List CDN services
- `GET /order/cdn/dedicated/new` — Get allowed durations for 'new' option
- `GET /order/cdn/dedicated/new/{duration}` — Get prices and contracts information
- `POST /order/cdn/dedicated/new/{duration}` — Create order
- `GET /order/cdn/dedicated/{serviceName}` — Get allowed options
- `GET /order/cdn/dedicated/{serviceName}/backend` — Get allowed durations for 'backend' option
- `GET /order/cdn/dedicated/{serviceName}/backend/{duration}` — Get prices and contracts information
- `POST /order/cdn/dedicated/{serviceName}/backend/{duration}` — Create order
- `GET /order/cdn/dedicated/{serviceName}/cacheRule` — Get allowed durations for 'cacheRule' option
- `GET /order/cdn/dedicated/{serviceName}/cacheRule/{duration}` — Get prices and contracts information
- `POST /order/cdn/dedicated/{serviceName}/cacheRule/{duration}` — Create order
- `GET /order/cdn/dedicated/{serviceName}/quota` — Get allowed durations for 'quota' option
- `GET /order/cdn/dedicated/{serviceName}/quota/{duration}` — Get prices and contracts information
- `POST /order/cdn/dedicated/{serviceName}/quota/{duration}` — Create order
- `GET /order/cloud/project` — List available services
- `GET /order/cloud/project/{serviceName}` — Get allowed options
- `GET /order/cloud/project/{serviceName}/credit` — Get prices and contracts information
- `POST /order/cloud/project/{serviceName}/credit` — Create order
- `GET /order/dedicated/housing` — List available services
- `GET /order/dedicated/housing/{serviceName}` — Get allowed options
- `GET /order/dedicated/housing/{serviceName}/APC` — Get allowed durations for 'APC' option
- `GET /order/dedicated/housing/{serviceName}/APC/{duration}` — Get prices and contracts information
- `POST /order/dedicated/housing/{serviceName}/APC/{duration}` — Create order
- `GET /order/dedicated/server` — List servers
- `GET /order/dedicated/server/{serviceName}` — Get allowed options
- `GET /order/dedicated/server/{serviceName}/backupStorage` — Get allowed durations for 'backupStorage' option
- `GET /order/dedicated/server/{serviceName}/backupStorage/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/backupStorage/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/bandwidth` — Get allowed durations for 'bandwidth' option
- `GET /order/dedicated/server/{serviceName}/bandwidth/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/bandwidth/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/bandwidthvRack` — Get allowed durations for 'bandwidthvRack' option
- `GET /order/dedicated/server/{serviceName}/bandwidthvRack/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/bandwidthvRack/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/feature` — Get allowed durations for 'feature' option
- `GET /order/dedicated/server/{serviceName}/feature/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/feature/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/firewall` — Get allowed durations for 'firewall' option
- `GET /order/dedicated/server/{serviceName}/firewall/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/firewall/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/ipMigration` — Get allowed durations for 'ipMigration' option
- `GET /order/dedicated/server/{serviceName}/ipMigration/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/ipMigration/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/kvm` — Get allowed durations for 'kvm' option
- `GET /order/dedicated/server/{serviceName}/kvm/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/kvm/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/kvmExpress` — Get allowed durations for 'kvmExpress' option
- `GET /order/dedicated/server/{serviceName}/kvmExpress/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/kvmExpress/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/professionalUse` — Get allowed durations for 'professionalUse' option
- `GET /order/dedicated/server/{serviceName}/professionalUse/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/professionalUse/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/traffic` — Get allowed durations for 'traffic' option
- `GET /order/dedicated/server/{serviceName}/traffic/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/traffic/{duration}` — Create order
- `GET /order/dedicated/server/{serviceName}/usbKey` — Get allowed durations for 'usbKey' option
- `GET /order/dedicated/server/{serviceName}/usbKey/{duration}` — Get prices and contracts information
- `POST /order/dedicated/server/{serviceName}/usbKey/{duration}` — Create order
- `GET /order/dedicatedCloud` — List VMware on OVHcloud service options
- `GET /order/dedicatedCloud/{serviceName}` — Get allowed options
- `GET /order/dedicatedCloud/{serviceName}/additionalBandwidth` — Get allowed durations for 'additionalBandwidth' option
- `GET /order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}` — Create order
- `GET /order/dedicatedCloud/{serviceName}/filer` — Get allowed durations for 'filer' option
- `GET /order/dedicatedCloud/{serviceName}/filer/{duration}` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/filer/{duration}` — Create order
- `GET /order/dedicatedCloud/{serviceName}/host` — Get allowed durations for 'host' option
- `GET /order/dedicatedCloud/{serviceName}/host/{duration}` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/host/{duration}` — Create order
- `GET /order/dedicatedCloud/{serviceName}/ip` — Get allowed durations for 'ip' option
- `GET /order/dedicatedCloud/{serviceName}/ip/{duration}` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/ip/{duration}` — Create order
- `GET /order/dedicatedCloud/{serviceName}/spla` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/spla` — Create order
- `GET /order/dedicatedCloud/{serviceName}/upgradeRessource` — Get allowed durations for 'upgradeRessource' option
- `GET /order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}` — Create order
- `GET /order/dedicatedCloud/{serviceName}/vdi` — Get prices and contracts information
- `POST /order/dedicatedCloud/{serviceName}/vdi` — Create order
- `GET /order/domain/zone` — List available services
- `GET /order/domain/zone/new` — Get prices and contracts information
- `POST /order/domain/zone/new` — Create order
- `GET /order/domain/zone/{zoneName}` — Get allowed options
- `GET /order/domain/zone/{zoneName}/dnsAnycast` — Get allowed durations for 'dnsAnycast' option
- `GET /order/domain/zone/{zoneName}/dnsAnycast/{duration}` — Get prices and contracts information
- `POST /order/domain/zone/{zoneName}/dnsAnycast/{duration}` — Create order
- `GET /order/email/domain` — List MX Plan domains
- `GET /order/email/domain/new` — Get allowed durations for 'new' option
- `GET /order/email/domain/new/{duration}` — Get prices and contracts information
- `POST /order/email/domain/new/{duration}` — Create order
- `GET /order/email/domain/{domain}` — Get allowed options
- `GET /order/email/domain/{domain}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/email/domain/{domain}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/email/domain/{domain}/upgrade/{duration}` — Create order
- `GET /order/email/exchange` — List Exchange organizations
- `GET /order/email/exchange/{organizationName}/service` — List Exchange services
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}` — Get allowed options
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/account` — Get allowed durations for 'account' option
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}` — Get prices and contracts information
- `POST /order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}` — Create order
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade` — Get allowed durations for 'accountUpgrade' option
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}` — Get prices and contracts information
- `POST /order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}` — Create order
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace` — Get prices and contracts information
- `POST /order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace` — Create order
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/outlook` — Get allowed durations for 'outlook' option
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}` — Get prices and contracts information
- `POST /order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}` — Create order
- `GET /order/email/exchange/{organizationName}/service/{exchangeService}/upgrade` — Get prices and contracts information
- `POST /order/email/exchange/{organizationName}/service/{exchangeService}/upgrade` — Create order
- `GET /order/email/pro` — List Email Pro services
- `GET /order/email/pro/{service}` — Get allowed options
- `GET /order/email/pro/{service}/account` — Get allowed durations for 'account' option
- `GET /order/email/pro/{service}/account/{duration}` — Get prices and contracts information
- `POST /order/email/pro/{service}/account/{duration}` — Create order
- `GET /order/freefax` — Freefax line accounts
- `GET /order/freefax/new` — Get prices and contracts information
- `POST /order/freefax/new` — Create order
- `GET /order/freefax/{serviceName}` — Get allowed options
- `GET /order/freefax/{serviceName}/convertToVoicefax` — Get prices and contracts information
- `POST /order/freefax/{serviceName}/convertToVoicefax` — Create order
- `GET /order/hosting/web` — List available services
- `GET /order/hosting/web/{serviceName}` — Get allowed options
- `GET /order/hosting/web/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/hosting/web/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/hosting/web/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/license/cpanel` — List available services
- `GET /order/license/cpanel/new` — Get allowed durations for 'new' option
- `GET /order/license/cpanel/new/{duration}` — Get prices and contracts information
- `POST /order/license/cpanel/new/{duration}` — Create order
- `GET /order/license/cpanel/{serviceName}` — Get allowed options
- `GET /order/license/cpanel/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/license/cpanel/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/license/cpanel/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/license/office/new` — Get allowed durations for 'new' option
- `GET /order/license/office/new/{duration}` — Get prices and contracts information
- `POST /order/license/office/new/{duration}` — Create order
- `GET /order/license/plesk` — List available services
- `GET /order/license/plesk/new` — Get allowed durations for 'new' option
- `GET /order/license/plesk/new/{duration}` — Get prices and contracts information
- `POST /order/license/plesk/new/{duration}` — Create order
- `GET /order/license/plesk/{serviceName}` — Get allowed options
- `GET /order/license/plesk/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/license/plesk/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/license/plesk/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/license/sqlserver` — List available services
- `GET /order/license/sqlserver/new` — Get allowed durations for 'new' option
- `GET /order/license/sqlserver/new/{duration}` — Get prices and contracts information
- `POST /order/license/sqlserver/new/{duration}` — Create order
- `GET /order/license/sqlserver/{serviceName}` — Get allowed options
- `GET /order/license/sqlserver/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/license/sqlserver/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/license/sqlserver/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/license/windows` — List available services
- `GET /order/license/windows/new` — Get allowed durations for 'new' option
- `GET /order/license/windows/new/{duration}` — Get prices and contracts information
- `POST /order/license/windows/new/{duration}` — Create order
- `GET /order/license/windows/{serviceName}` — Get allowed options
- `GET /order/license/windows/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/license/windows/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/license/windows/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/overTheBox` — List OverTheBox services
- `GET /order/overTheBox/new` — Get allowed durations for 'new' option
- `GET /order/overTheBox/new/{duration}` — Get prices and contracts information
- `POST /order/overTheBox/new/{duration}` — Create order
- `GET /order/overTheBox/{serviceName}` — Get allowed options
- `GET /order/overTheBox/{serviceName}/migrate` — Get prices and contracts information
- `POST /order/overTheBox/{serviceName}/migrate` — Create order
- `GET /order/saas/csp2/new` — Get allowed durations for 'new' option
- `GET /order/saas/csp2/new/{duration}` — Get prices and contracts information
- `POST /order/saas/csp2/new/{duration}` — Create order
- `GET /order/sms` — List SMS accounts
- `GET /order/sms/new` — Get prices and contracts information
- `POST /order/sms/new` — Create order
- `GET /order/sms/{serviceName}` — Get allowed options
- `GET /order/sms/{serviceName}/credits` — Get prices and contracts information
- `POST /order/sms/{serviceName}/credits` — Create order
- `GET /order/telephony` — List billing accounts
- `GET /order/telephony/lines` — List lines
- `GET /order/telephony/lines/{serviceName}` — Get allowed options
- `GET /order/telephony/lines/{serviceName}/addSimultaneousLines` — Get prices and contracts information
- `POST /order/telephony/lines/{serviceName}/addSimultaneousLines` — Create order
- `GET /order/telephony/lines/{serviceName}/hardware` — Get prices and contracts information
- `POST /order/telephony/lines/{serviceName}/hardware` — Create order
- `GET /order/telephony/lines/{serviceName}/updateSimultaneousChannels` — Get prices and contracts information
- `POST /order/telephony/lines/{serviceName}/updateSimultaneousChannels` — Create order
- `GET /order/telephony/new` — Get prices and contracts information
- `POST /order/telephony/new` — Create order
- `GET /order/telephony/spare/new` — Get prices and contracts information
- `POST /order/telephony/spare/new` — Create order
- `GET /order/telephony/trunks` — List trunks
- `GET /order/telephony/trunks/{serviceName}` — Get allowed options
- `GET /order/telephony/trunks/{serviceName}/addSimultaneousLines` — Get prices and contracts information
- `POST /order/telephony/trunks/{serviceName}/addSimultaneousLines` — Create order
- `GET /order/telephony/trunks/{serviceName}/hardware` — Get prices and contracts information
- `POST /order/telephony/trunks/{serviceName}/hardware` — Create order
- `GET /order/telephony/trunks/{serviceName}/updateSimultaneousChannels` — Get prices and contracts information
- `POST /order/telephony/trunks/{serviceName}/updateSimultaneousChannels` — Create order
- `GET /order/telephony/{billingAccount}` — Get allowed options
- `GET /order/telephony/{billingAccount}/accessories` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/accessories` — Create order
- `GET /order/telephony/{billingAccount}/line` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/line` — Create order
- `GET /order/telephony/{billingAccount}/numberGeographic` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/numberGeographic` — Create order
- `GET /order/telephony/{billingAccount}/numberNogeographic` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/numberNogeographic` — Create order
- `GET /order/telephony/{billingAccount}/numberSpecial` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/numberSpecial` — Create order
- `GET /order/telephony/{billingAccount}/portability` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/portability` — Create order
- `GET /order/telephony/{billingAccount}/securityDeposit` — Get prices and contracts information
- `POST /order/telephony/{billingAccount}/securityDeposit` — Create order
- `GET /order/upgrade/bandwidthVrack` — List available services
- `GET /order/upgrade/bandwidthVrack/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/bandwidthVrack/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/bandwidthVrack/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/baremetalPrivateBandwidth` — List available services
- `GET /order/upgrade/baremetalPrivateBandwidth/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/baremetalPublicBandwidth` — List available services
- `GET /order/upgrade/baremetalPublicBandwidth/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/cephaas` — List available services
- `GET /order/upgrade/cephaas/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/cephaas/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/cephaas/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/cloudDB` — List available services
- `GET /order/upgrade/cloudDB/{domain}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/cloudDB/{domain}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/cloudDB/{domain}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/emailDomain` — List available services
- `GET /order/upgrade/emailDomain/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/emailDomain/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/emailDomain/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/ipLoadbalancing` — List available services
- `GET /order/upgrade/ipLoadbalancing/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/ipLoadbalancing/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/ipLoadbalancing/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/licenseHycu` — List available services
- `GET /order/upgrade/licenseHycu/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/licenseHycu/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/licenseHycu/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/licensePlesk` — List available services
- `GET /order/upgrade/licensePlesk/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/licensePlesk/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/licensePlesk/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/licensecPanel` — List available services
- `GET /order/upgrade/licensecPanel/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/licensecPanel/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/licensecPanel/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/logs` — List available services
- `GET /order/upgrade/logs/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/logs/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/logs/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/managedCMS` — List available services
- `GET /order/upgrade/managedCMS/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/managedCMS/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/managedCMS/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/metrics` — List available services
- `GET /order/upgrade/metrics/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/metrics/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/metrics/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/microsoftExchange` — List available services
- `GET /order/upgrade/microsoftExchange/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/microsoftExchange/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/microsoftExchange/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/netapp` — List available services
- `GET /order/upgrade/netapp/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/netapp/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/netapp/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/privateCloud` — List available services
- `GET /order/upgrade/privateCloud/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/privateCloud/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/privateCloud/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/privateCloudManagementFee` — List available services
- `GET /order/upgrade/privateCloudManagementFee/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/privateSQL` — List available services
- `GET /order/upgrade/privateSQL/{domain}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/privateSQL/{domain}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/privateSQL/{domain}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/sslGateway` — List available services
- `GET /order/upgrade/sslGateway/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/sslGateway/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/sslGateway/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/vps` — List available services
- `GET /order/upgrade/vps/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/vps/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/vps/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/vpsAdditionalDisk` — List available services
- `GET /order/upgrade/vpsAdditionalDisk/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/webHosting` — List available services
- `GET /order/upgrade/webHosting/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/webHosting/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/webHosting/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/upgrade/zimbra` — List available services
- `GET /order/upgrade/zimbra/{serviceName}` — Retrieve available offers to upgrade your service to
- `GET /order/upgrade/zimbra/{serviceName}/{planCode}` — Get a provisional order for the selected upgrade of your service
- `POST /order/upgrade/zimbra/{serviceName}/{planCode}` — Perform the requested upgrade of your service
- `GET /order/veeamCloudConnect` — Veeam Cloud Connect order
- `GET /order/veeamCloudConnect/{serviceName}` — Get allowed options
- `GET /order/veeamCloudConnect/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/veeamCloudConnect/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/veeamCloudConnect/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/vps` — List available services
- `GET /order/vps/{serviceName}` — Get allowed options
- `GET /order/vps/{serviceName}/additionalDisk` — Get allowed durations for 'additionalDisk' option
- `GET /order/vps/{serviceName}/additionalDisk/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/additionalDisk/{duration}` — Create order
- `GET /order/vps/{serviceName}/automatedBackup` — Get allowed durations for 'automatedBackup' option
- `GET /order/vps/{serviceName}/automatedBackup/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/automatedBackup/{duration}` — Create order
- `GET /order/vps/{serviceName}/cpanel` — Get allowed durations for 'cpanel' option
- `GET /order/vps/{serviceName}/cpanel/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/cpanel/{duration}` — Create order
- `GET /order/vps/{serviceName}/ftpbackup` — Get allowed durations for 'ftpbackup' option
- `GET /order/vps/{serviceName}/ftpbackup/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/ftpbackup/{duration}` — Create order
- `GET /order/vps/{serviceName}/plesk` — Get allowed durations for 'plesk' option
- `GET /order/vps/{serviceName}/plesk/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/plesk/{duration}` — Create order
- `GET /order/vps/{serviceName}/snapshot` — Get allowed durations for 'snapshot' option
- `GET /order/vps/{serviceName}/snapshot/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/snapshot/{duration}` — Create order
- `GET /order/vps/{serviceName}/upgrade` — Get allowed durations for 'upgrade' option
- `GET /order/vps/{serviceName}/upgrade/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/upgrade/{duration}` — Create order
- `GET /order/vps/{serviceName}/veeam` — Get allowed durations for 'veeam' option
- `GET /order/vps/{serviceName}/veeam/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/veeam/{duration}` — Create order
- `GET /order/vps/{serviceName}/windows` — Get allowed durations for 'windows' option
- `GET /order/vps/{serviceName}/windows/{duration}` — Get prices and contracts information
- `POST /order/vps/{serviceName}/windows/{duration}` — Create order
- `GET /order/xdsl/spare/new` — Get prices and contracts information
- `POST /order/xdsl/spare/new` — Create order

## List of all the orders the logged account has

`GET /1.0/me/order`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `date.from` | query | string (date-time) |  | Filter the value of date property (>=) |
| `date.to` | query | string (date-time) |  | Filter the value of date property (<=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | integer[] | successful operation |

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `expirationDate` | string (date-time) | read-only |  |
| `metadatas` | string[] | read-only |  |
| `orderId` | integer | read-only |  |
| `password` | string | read-only |  |
| `pdfUrl` | string | read-only |  |
| `priceWithTax` | order.Price | read-only | Price with it's currency and textual representation |
| `priceWithTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `priceWithTax.text` | string |  |  |
| `priceWithTax.value` | number |  |  |
| `priceWithoutTax` | order.Price | read-only | Price with it's currency and textual representation |
| `priceWithoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `priceWithoutTax.text` | string |  |  |
| `priceWithoutTax.value` | number |  |  |
| `retractionDate` | string (date-time) | read-only |  |
| `tax` | order.Price | read-only | Price with it's currency and textual representation |
| `tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `tax.text` | string |  |  |
| `tax.value` | number |  |  |
| `url` | string | read-only |  |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "expirationDate": "2024-01-01T12:00:00Z",
  "metadatas": [
    "string"
  ],
  "orderId": 0,
  "password": "string",
  "pdfUrl": "string",
  "priceWithTax": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "priceWithoutTax": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "retractionDate": "2024-01-01T12:00:00Z",
  "tax": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}");

print_r($result);
?>
```

## Return main data about the object the processing of the order generated

`GET /1.0/me/order/{orderId}/associatedObject`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-associatedobject

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/associatedObject/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.AssociatedObject | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string |  |  |
| `type` | billing.order.associatedObject.TypeEnum |  | Type of objects an order can be linked to — one of `Bill`, `Deposit`, `Refund`, `ReverseBill`, `Withdrawal` |

```json
{
  "id": "string",
  "type": "Bill"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/associatedObject" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/associatedObject")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/associatedObject");

print_r($result);
?>
```

## List of registered payment mean you can use to pay this order

`GET /1.0/me/order/{orderId}/availableRegisteredPaymentMean`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-availableregisteredpaymentmean

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/availableRegisteredPaymentMean/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.RegisteredPaymentMean[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paymentMean` | billing.ReusablePaymentMeanEnum |  | Reusable payment mean type — one of `CREDIT_CARD`, `CURRENT_ACCOUNT`, `DEFERRED_PAYMENT_ACCOUNT`, `DOMESTIC_CARD`, `ENTERPRISE`, `INTERNAL_TRUSTED_ACCOUNT`, `PAYPAL`, `RUPAY`, `SEPA_DIRECT_DEBIT`, `bankAccount`, `creditCard`, `deferredPaymentAccount`, … |

```json
[
  {
    "paymentMean": "CREDIT_CARD"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/availableRegisteredPaymentMean" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/availableRegisteredPaymentMean")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/availableRegisteredPaymentMean");

print_r($result);
?>
```

## List credit balances applied on this Order

`GET /1.0/me/order/{orderId}/balance`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-balance

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/balance/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/balance" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/balance")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/balance");

print_r($result);
?>
```

## Use a credit balance on this Order

`POST /1.0/me/order/{orderId}/balance`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-me-order-orderid-balance

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/balance/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `balanceName` | string | yes | Balance name to use on this Order |

```json
{
  "balanceName": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.CreditBalance | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | order.Price | read-only | Amount applied from the balance |
| `amount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `amount.text` | string |  |  |
| `amount.value` | number |  |  |
| `balanceName` | string | read-only | Credit balance name |

```json
{
  "amount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "balanceName": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/balance" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.post("/me/order/{orderId}/balance",
	balanceName = None, # Balance name to use on this Order (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->post("/me/order/{orderId}/balance", array(
	balanceName => null, // Balance name to use on this Order (type: string)
));

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}/balance/{balanceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-balance-balancename

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/balance/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `balanceName` | path | string | yes | Credit balance name |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.CreditBalance | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | order.Price | read-only | Amount applied from the balance |
| `amount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `amount.text` | string |  |  |
| `amount.value` | number |  |  |
| `balanceName` | string | read-only | Credit balance name |

```json
{
  "amount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "balanceName": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/balance/{balanceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/balance/{balanceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/balance/{balanceName}");

print_r($result);
?>
```

## Remove a credit balance from this Order

`DELETE /1.0/me/order/{orderId}/balance/{balanceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#delete-me-order-orderid-balance-balancename

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/balance/delete`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `balanceName` | path | string | yes | Credit balance name |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/balance/{balanceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/me/order/{orderId}/balance/{balanceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/me/order/{orderId}/balance/{balanceName}");

print_r($result);
?>
```

## Retrieve order's detailed consumption information as a file

`GET /1.0/me/order/{orderId}/consumption/details`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-consumption-details

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/consumption/details/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `fileFormat` | query | consumption.ConsumptionExportFormatsEnum | yes | Format of the file — one of `csv` |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.ConsumptionDetails | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `fileFormat` | consumption.ConsumptionExportFormatsEnum |  | Format of the file — one of `csv` |
| `fileURL` | string |  | Temporary URL to download detailed consumption |
| `message` | string |  | Request's state description |
| `taskId` | integer |  | Consumption details export task's identifier |
| `taskStatus` | consumption.ConsumptionExportTaskStatusEnum |  | Consumption details export task's status — one of `DOING`, `DONE`, `ERROR`, `TODO` |

```json
{
  "fileFormat": "csv",
  "fileURL": "string",
  "message": "string",
  "taskId": 0,
  "taskStatus": "DOING"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/consumption/details" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/consumption/details")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/consumption/details");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}/debt`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-debt

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/debt/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | debt.Debt | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | order.Price | read-only | Original amount of the debt |
| `amount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `amount.text` | string |  |  |
| `amount.value` | number |  |  |
| `date` | string (date-time) | read-only | Date the debt was created on |
| `debtId` | integer | read-only |  |
| `dueAmount` | order.Price | read-only | Amount you still owe for that debt |
| `dueAmount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `dueAmount.text` | string |  |  |
| `dueAmount.value` | number |  |  |
| `dueDate` | string (date-time) | read-only | If specified, the debt will not be recovered before that date |
| `orderId` | integer | read-only | The order the debt relates to |
| `pendingAmount` | order.Price | read-only | Amount currently being processed |
| `pendingAmount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `pendingAmount.text` | string |  |  |
| `pendingAmount.value` | number |  |  |
| `status` | debt.entry.StatusDebtOrderEnum | read-only | Status of a debt — one of `PAID`, `REFUNDED`, `TO_BE_PAID`, `UNMATURED`, `UNPAID`, `WRITE_OFF` |
| `todoAmount` | order.Price | read-only | Reserved amount awaiting payment |
| `todoAmount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `todoAmount.text` | string |  |  |
| `todoAmount.value` | number |  |  |
| `unmaturedAmount` | order.Price | read-only | Unmatured amount for deferred payment term |
| `unmaturedAmount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `unmaturedAmount.text` | string |  |  |
| `unmaturedAmount.value` | number |  |  |

```json
{
  "amount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "date": "2024-01-01T12:00:00Z",
  "debtId": 0,
  "dueAmount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "dueDate": "2024-01-01T12:00:00Z",
  "orderId": 0,
  "pendingAmount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "status": "PAID",
  "todoAmount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "unmaturedAmount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/debt" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/debt")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/debt");

print_r($result);
?>
```

## All operations related to these debts

`GET /1.0/me/order/{orderId}/debt/operation`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-debt-operation

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/debt/operation/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `depositOrderId` | query | integer |  | Filter the value of depositOrderId property (=) |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | integer[] | successful operation |

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/debt/operation" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/debt/operation")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/debt/operation");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}/debt/operation/{operationId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-debt-operation-operationid

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/debt/operation/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `operationId` | path | integer | yes |  |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | debt.Operation | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | order.Price | read-only | Amount of the operation |
| `amount.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `amount.text` | string |  |  |
| `amount.value` | number |  |  |
| `date` | string (date-time) | read-only | Date the operation took place on |
| `depositOrderId` | integer | read-only | Order id associated to the deposit |
| `operationId` | integer | read-only |  |
| `status` | debt.entry.StatusEnum | read-only | Status of the operation — one of `CANCELLED`, `DONE`, `FAILED`, `PAID`, `PENDING`, `TODO` |
| `type` | debt.entry.OperationEnum | read-only | Type of movement this operation represents — one of `BANK_TRANSFER_MANUAL`, `CANCEL`, `CASH_MANUAL`, `CHECK_MANUAL`, `CREDITCARD`, `CREDITCARD_AUTOMATIC`, `CREDITCARD_MANUAL`, `CREDIT_ACCOUNT_AUTOMATIC`, `CREDIT_CARD_AUTOMATIC`, `CREDIT_CARD_MANUAL`, `CURRENT_ACCOUNT_AUTOMATIC`, `CURRENT_ACCOUNT_MANUAL`, … |

```json
{
  "amount": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "date": "2024-01-01T12:00:00Z",
  "depositOrderId": 0,
  "operationId": 0,
  "status": "CANCELLED",
  "type": "BANK_TRANSFER_MANUAL"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/debt/operation/{operationId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/debt/operation/{operationId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/debt/operation/{operationId}");

print_r($result);
?>
```

## Return main data about the object related to this debt operation

`GET /1.0/me/order/{orderId}/debt/operation/{operationId}/associatedObject`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-debt-operation-operationid-associatedobject

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/debt/operation/associatedObject/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `operationId` | path | integer | yes |  |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | debt.entry.AssociatedObject | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string |  |  |
| `paymentInfo` | debt.associatedObject.PaymentInfo |  | The payment infos linked to this debt entry |
| `paymentInfo.description` | string |  | Optional customer description |
| `paymentInfo.paymentType` | billing.PaymentMeanEnum |  | Payment mean used for this debt operation — one of `cash`, `chargeback`, `check`, `cheque`, `creditAccount`, `creditCard`, `debtAccount`, `deposit`, `digitalLaunchPad`, `edinar`, `fidelityPoints`, `free`, … |
| `paymentInfo.publicLabel` | string |  | Public payment mean label |
| `subId` | string |  |  |
| `type` | debt.associatedObject.TypeEnum |  | Type of objects an order can be linked to — one of `Bill`, `DebtOperation`, `Deposit`, `Order`, `OvhAccountMovement`, `Refund`, `Withdrawal` |

```json
{
  "id": "string",
  "paymentInfo": {
    "description": "string",
    "paymentType": "cash",
    "publicLabel": "string"
  },
  "subId": "string",
  "type": "Bill"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/debt/operation/{operationId}/associatedObject" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/debt/operation/{operationId}/associatedObject")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/debt/operation/{operationId}/associatedObject");

print_r($result);
?>
```

## Create an order in order to pay this order's debt

`POST /1.0/me/order/{orderId}/debt/pay`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-me-order-orderid-debt-pay

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/debt/pay`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `expirationDate` | string (date-time) | read-only |  |
| `metadatas` | string[] | read-only |  |
| `orderId` | integer | read-only |  |
| `password` | string | read-only |  |
| `pdfUrl` | string | read-only |  |
| `priceWithTax` | order.Price | read-only | Price with it's currency and textual representation |
| `priceWithTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `priceWithTax.text` | string |  |  |
| `priceWithTax.value` | number |  |  |
| `priceWithoutTax` | order.Price | read-only | Price with it's currency and textual representation |
| `priceWithoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `priceWithoutTax.text` | string |  |  |
| `priceWithoutTax.value` | number |  |  |
| `retractionDate` | string (date-time) | read-only |  |
| `tax` | order.Price | read-only | Price with it's currency and textual representation |
| `tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `tax.text` | string |  |  |
| `tax.value` | number |  |  |
| `url` | string | read-only |  |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "expirationDate": "2024-01-01T12:00:00Z",
  "metadatas": [
    "string"
  ],
  "orderId": 0,
  "password": "string",
  "pdfUrl": "string",
  "priceWithTax": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "priceWithoutTax": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "retractionDate": "2024-01-01T12:00:00Z",
  "tax": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/debt/pay" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/me/order/{orderId}/debt/pay")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/me/order/{orderId}/debt/pay");

print_r($result);
?>
```

## Give access to all entries of the order

`GET /1.0/me/order/{orderId}/details`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-details

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/details/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | integer[] | successful operation |

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/details" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/details")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/details");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}/details/{orderDetailId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-details-orderdetailid

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/details/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderDetailId` | path | integer | yes |  |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.OrderDetail | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cancelled` | boolean | read-only |  |
| `description` | string | read-only |  |
| `detailType` | order.OrderDetailTypeEnum | read-only | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `domain` | string | read-only |  |
| `orderDetailId` | integer | read-only |  |
| `quantity` | string | read-only |  |
| `totalPrice` | order.Price | read-only | Price with it's currency and textual representation |
| `totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `totalPrice.text` | string |  |  |
| `totalPrice.value` | number |  |  |
| `unitPrice` | order.Price | read-only | Price with it's currency and textual representation |
| `unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `unitPrice.text` | string |  |  |
| `unitPrice.value` | number |  |  |

```json
{
  "cancelled": true,
  "description": "string",
  "detailType": "ACCESSORY",
  "domain": "string",
  "orderDetailId": 0,
  "quantity": "string",
  "totalPrice": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  },
  "unitPrice": {
    "currencyCode": "AUD",
    "text": "string",
    "value": 0
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/details/{orderDetailId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/details/{orderDetailId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/details/{orderDetailId}");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}/details/{orderDetailId}/extension`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-details-orderdetailid-extension

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/details/extension/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderDetailId` | path | integer | yes |  |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.ItemDetail | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `order` | billing.ItemDetail.Order | read-only | Order data for this Detail |
| `order.action` | billing.ItemDetail.OrderActionEnum |  | The meaning of this order detail — one of `consumption`, `detach`, `installation`, `renew`, `revert`, `upgrade` |
| `order.configurations` | billing.ItemDetail.OrderConfiguration[] |  | Configurations chosen during the order |
| `order.configurations[].label` | string |  | Label of the configuration |
| `order.configurations[].value` | string |  | Value of the configuration |
| `order.plan` | billing.ItemDetail.OrderPlan |  | Plan from /order/cart |
| `order.plan.code` | string |  | Plan code used when ordering through /order/cart |
| `order.plan.duration` | string |  | Duration chosen when ordering through /order/cart (ISO 8601) |
| `order.plan.pricingMode` | string |  | Pricing mode used when ordering through /order/cart |
| `order.plan.product` | billing.ItemDetail.OrderPlanProduct |  | Product from /order/cart |
| `order.plan.quantity` | integer |  | Quantity ordered |
| `order.type` | billing.ItemDetail.OrderDetailTypeEnum |  | Type of the detail to match with values inside the catalog — one of `plan`, `product` |

```json
{
  "order": {
    "action": "consumption",
    "configurations": [
      {
        "label": "string",
        "value": "string"
      }
    ],
    "plan": {
      "code": "string",
      "duration": "string",
      "pricingMode": "string",
      "product": {
        "name": "string"
      },
      "quantity": 0
    },
    "type": "plan"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/details/{orderDetailId}/extension" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/details/{orderDetailId}/extension")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/details/{orderDetailId}/extension");

print_r($result);
?>
```

## Set your engagement number on this order

`PUT /1.0/me/order/{orderId}/engagementNumber`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#put-me-order-orderid-engagementnumber

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/engagementNumber/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `engagementNumber` | string | yes | The engagement number you want to set on this order |

```json
{
  "engagementNumber": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/engagementNumber" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.put("/me/order/{orderId}/engagementNumber",
	engagementNumber = None, # The engagement number you want to set on this order (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->put("/me/order/{orderId}/engagementNumber", array(
	engagementNumber => null, // The engagement number you want to set on this order (type: string)
));

print_r($result);
?>
```

## Return tracking of the order

`GET /1.0/me/order/{orderId}/followUp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-followup

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/followUp/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.FollowUp[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `history` | billing.order.followUp.History[] |  | Step history of order follow-up |
| `history[].date` | string (date-time) |  | History date of order follow-up |
| `history[].description` | string |  | History description of order follow-up |
| `history[].label` | billing.order.followUp.HistoryStatusEnum |  | History label of order follow-up — one of `DELIVERY`, `FRAUD_CHECK`, `FRAUD_DOCS_REQUESTED`, `FRAUD_MANUAL_REVIEW`, `FRAUD_REFUSED`, `INVOICE_IN_PROGRESS`, `INVOICE_SENT`, `ORDER_ACCEPTED`, `ORDER_STARTED`, `PAYMENT_CONFIRMED`, `PAYMENT_INITIATED`, `PAYMENT_RECEIVED`, … |
| `status` | billing.order.followUp.StatusEnum |  | Step status of order follow-up — one of `DOING`, `DONE`, `ERROR`, `TODO` |
| `step` | billing.order.followUp.StepEnum |  | Step of order follow-up — one of `AVAILABLE`, `DELIVERING`, `VALIDATED`, `VALIDATING` |

```json
[
  {
    "history": [
      {
        "date": "2024-01-01T12:00:00Z",
        "description": "string",
        "label": "DELIVERY"
      }
    ],
    "status": "DOING",
    "step": "AVAILABLE"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/followUp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/followUp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/followUp");

print_r($result);
?>
```

## Pay with a payment method reference

`POST /1.0/me/order/{orderId}/pay`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-me-order-orderid-pay

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/pay`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paymentMethod` | billing.order.PayWithPaymentMethod | yes | Payment method informations for pay |
| `paymentMethod.id` | integer |  | ID of payment method for pay this order |

```json
{
  "paymentMethod": {
    "id": 0
  }
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/pay" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: billing.order.PayWithPaymentMethod
result = client.post("/me/order/{orderId}/pay",
	paymentMethod = None, # Payment method informations for pay (type: billing.order.PayWithPaymentMethod)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: billing.order.PayWithPaymentMethod
$result = $ovh->post("/me/order/{orderId}/pay", array(
	paymentMethod => null, // Payment method informations for pay (type: billing.order.PayWithPaymentMethod)
));

print_r($result);
?>
```

## Pay with an already registered payment mean

`POST /1.0/me/order/{orderId}/payWithRegisteredPaymentMean`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-me-order-orderid-paywithregisteredpaymentmean

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/payWithRegisteredPaymentMean`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paymentMean` | billing.ReusablePaymentMeanEnum | yes | The registered payment mean you want to use — one of `CREDIT_CARD`, `CURRENT_ACCOUNT`, `DEFERRED_PAYMENT_ACCOUNT`, `DOMESTIC_CARD`, `ENTERPRISE`, `INTERNAL_TRUSTED_ACCOUNT`, `PAYPAL`, `RUPAY`, `SEPA_DIRECT_DEBIT`, `bankAccount`, `creditCard`, `deferredPaymentAccount`, … |
| `paymentMeanId` | integer |  | Id of registered payment mean, mandatory for bankAccount, creditCard and paypal |

```json
{
  "paymentMean": "CREDIT_CARD",
  "paymentMeanId": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/payWithRegisteredPaymentMean" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/me/order/{orderId}/payWithRegisteredPaymentMean",
	paymentMean = None, # The registered payment mean you want to use (type: billing.ReusablePaymentMeanEnum)
	paymentMeanId = None, # Id of registered payment mean, mandatory for bankAccount, creditCard and paypal (type: long, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/me/order/{orderId}/payWithRegisteredPaymentMean", array(
	paymentMean => null, // The registered payment mean you want to use (type: billing.ReusablePaymentMeanEnum)
	paymentMeanId => null, // Id of registered payment mean, mandatory for bankAccount, creditCard and paypal (type: long, nullable)
));

print_r($result);
?>
```

## Get this object properties

`GET /1.0/me/order/{orderId}/payment`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-payment

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/payment/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.Payment | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paymentDate` | string (date-time) | read-only |  |
| `paymentIdentifier` | string | read-only |  |
| `paymentType` | billing.PaymentMeanEnum | read-only | All payment means you might have use on an OVH order — one of `cash`, `chargeback`, `check`, `cheque`, `creditAccount`, `creditCard`, `debtAccount`, `deposit`, `digitalLaunchPad`, `edinar`, `fidelityPoints`, `free`, … |

```json
{
  "paymentDate": "2024-01-01T12:00:00Z",
  "paymentIdentifier": "string",
  "paymentType": "cash"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/payment" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/payment")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/payment");

print_r($result);
?>
```

## Return main data about the object the processing of the order generated

`GET /1.0/me/order/{orderId}/paymentMeans`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-paymentmeans

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/paymentMeans/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.PaymentMeans | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `creditCard` | billing.order.PaymentMean[] |  |  |
| `creditCard[].fee` | number |  |  |
| `creditCard[].htmlForm` | string |  |  |
| `creditCard[].httpMethod` | string |  |  |
| `creditCard[].logo` | string |  |  |
| `creditCard[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `creditCard[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `creditCard[].parameters[].name` | string |  |  |
| `creditCard[].parameters[].value` | string |  |  |
| `creditCard[].subType` | string |  |  |
| `creditCard[].url` | string |  |  |
| `edinar` | billing.order.PaymentMean[] |  |  |
| `edinar[].fee` | number |  |  |
| `edinar[].htmlForm` | string |  |  |
| `edinar[].httpMethod` | string |  |  |
| `edinar[].logo` | string |  |  |
| `edinar[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `edinar[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `edinar[].parameters[].name` | string |  |  |
| `edinar[].parameters[].value` | string |  |  |
| `edinar[].subType` | string |  |  |
| `edinar[].url` | string |  |  |
| `fidelityPoints` | billing.order.PaymentMean[] |  |  |
| `fidelityPoints[].fee` | number |  |  |
| `fidelityPoints[].htmlForm` | string |  |  |
| `fidelityPoints[].httpMethod` | string |  |  |
| `fidelityPoints[].logo` | string |  |  |
| `fidelityPoints[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `fidelityPoints[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `fidelityPoints[].parameters[].name` | string |  |  |
| `fidelityPoints[].parameters[].value` | string |  |  |
| `fidelityPoints[].subType` | string |  |  |
| `fidelityPoints[].url` | string |  |  |
| `ideal` | billing.order.PaymentMean[] |  |  |
| `ideal[].fee` | number |  |  |
| `ideal[].htmlForm` | string |  |  |
| `ideal[].httpMethod` | string |  |  |
| `ideal[].logo` | string |  |  |
| `ideal[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `ideal[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `ideal[].parameters[].name` | string |  |  |
| `ideal[].parameters[].value` | string |  |  |
| `ideal[].subType` | string |  |  |
| `ideal[].url` | string |  |  |
| `multibanco` | billing.order.PaymentMean[] |  |  |
| `multibanco[].fee` | number |  |  |
| `multibanco[].htmlForm` | string |  |  |
| `multibanco[].httpMethod` | string |  |  |
| `multibanco[].logo` | string |  |  |
| `multibanco[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `multibanco[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `multibanco[].parameters[].name` | string |  |  |
| `multibanco[].parameters[].value` | string |  |  |
| `multibanco[].subType` | string |  |  |
| `multibanco[].url` | string |  |  |
| `ovhAccount` | billing.order.PaymentMean[] |  |  |
| `ovhAccount[].fee` | number |  |  |
| `ovhAccount[].htmlForm` | string |  |  |
| `ovhAccount[].httpMethod` | string |  |  |
| `ovhAccount[].logo` | string |  |  |
| `ovhAccount[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `ovhAccount[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `ovhAccount[].parameters[].name` | string |  |  |
| `ovhAccount[].parameters[].value` | string |  |  |
| `ovhAccount[].subType` | string |  |  |
| `ovhAccount[].url` | string |  |  |
| `paypal` | billing.order.PaymentMean[] |  |  |
| `paypal[].fee` | number |  |  |
| `paypal[].htmlForm` | string |  |  |
| `paypal[].httpMethod` | string |  |  |
| `paypal[].logo` | string |  |  |
| `paypal[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `paypal[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `paypal[].parameters[].name` | string |  |  |
| `paypal[].parameters[].value` | string |  |  |
| `paypal[].subType` | string |  |  |
| `paypal[].url` | string |  |  |
| `promotion` | billing.order.PaymentMean[] |  |  |
| `promotion[].fee` | number |  |  |
| `promotion[].htmlForm` | string |  |  |
| `promotion[].httpMethod` | string |  |  |
| `promotion[].logo` | string |  |  |
| `promotion[].parameters` | billing.order.paymentMean.HttpParameter[] |  |  |
| `promotion[].parameters[].choice` | billing.order.paymentMean.HttpParameterChoice[] |  |  |
| `promotion[].parameters[].name` | string |  |  |
| `promotion[].parameters[].value` | string |  |  |
| `promotion[].subType` | string |  |  |
| `promotion[].url` | string |  |  |

```json
{
  "creditCard": [
    {
      "fee": 0,
      "htmlForm": "string",
      "httpMethod": "string",
      "logo": "string",
      "parameters": [
        {
          "choice": [
            {
              "name": null,
              "value": null
            }
          ],
          "name": "string",
          "value": "string"
        }
      ],
      "subType": "string",
      "url": "string"
    }
  ],
  "edinar": [
    {
      "fee": 0,
      "htmlForm": "string",
      "httpMethod": "string",
      "logo": "string",
      "parameters": [
        {
          "choice": [
            {
              "name": null,
              "value": null
            }
          ],
          "name": "string",
          "value": "string"
        }
      ],
      "subType": "string",
      "url": "string"
    }
  ],
  "fidelityPoints": [
    {
      "fee": 0,
      "htmlForm": "string",
      "httpMethod": "string",
      "logo": "string",
      "parameters": [
        {
          "choice": [
            {
              "name": null,
              "value": null
            }
          ],
          "name": "string",
          "value": "string"
        }
      ],
      "subType": "string",
      "url": "string"
    }
  ],
  "ideal": [
    {
      "fee": 0,
      "htmlForm": "string",
      "httpMethod": "string",
      "logo": "string",
      "parameters": [
        {
          "choice": [
            {
              "name": null,
              "value": null
            }
          ],
          "name": "string",
          "value": "string"
        }
      ],
      "subType": "string",
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/paymentMeans" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/paymentMeans")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/paymentMeans");

print_r($result);
?>
```

## List of registered payment method you can use to pay this order

`GET /1.0/me/order/{orderId}/paymentMethods`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-paymentmethods

**Status:** Beta version  
**IAM actions:** `account:apiovh:me/order/paymentMethods/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.PaymentMethods | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `available` | payment.method.AvailablePaymentMethod[] |  | Payment method available on this order |
| `available[].formSessionId` | string |  | Payment method session identifier |
| `available[].icon` | payment.method.Icon |  | Payment method type icon |
| `available[].icon.data` | string |  | Icon data in base64 |
| `available[].icon.name` | string |  | Icon name |
| `available[].icon.url` | string |  | Icon URL |
| `available[].integration` | payment.method.IntegrationType |  | Graphical payment integration to use — one of `BANK_TRANSFER`, `COMPONENT`, `DONE`, `IFRAME_VANTIV`, `IN_CONTEXT`, `NONE`, `OSP`, `POST_FORM`, `REDIRECT` |
| `available[].merchantId` | string |  | Payment method merchant identifier |
| `available[].oneshot` | boolean |  | Payment method type is possible to pay in oneshot mode ? |
| `available[].organizationId` | string |  | Payment method organization identifier |
| `available[].paymentSubType` | string |  | Payment method subtype |
| `available[].paymentType` | string |  | Payment method type |
| `available[].registerable` | boolean |  | Payment method type is registerable ? |
| `available[].registerableWithTransaction` | boolean |  | Payment method type is registerable with the possibility to pay in same time an order ? |
| `paymentMethods` | payment.method.PaymentMethod[] |  | List of registered Payment methods usable on this order |
| `paymentMethods[].billingContactId` | integer |  | Associated billing contact ID |
| `paymentMethods[].creationDate` | string (date-time) |  | Creation date |
| `paymentMethods[].default` | boolean |  | Indicates if payment method is the default one for this account |
| `paymentMethods[].description` | string |  | Custom customer description |
| `paymentMethods[].expirationDate` | string (date-time) |  | Expiration date |
| `paymentMethods[].formSessionId` | string |  | Form session ID |
| `paymentMethods[].icon` | payment.method.Icon |  | Payment method type icon |
| `paymentMethods[].icon.data` | string |  | Icon data in base64 |
| `paymentMethods[].icon.name` | string |  | Icon name |
| `paymentMethods[].icon.url` | string |  | Icon URL |
| `paymentMethods[].integration` | payment.method.IntegrationType |  | Payment method integration type — one of `BANK_TRANSFER`, `COMPONENT`, `DONE`, `IFRAME_VANTIV`, `IN_CONTEXT`, `NONE`, `OSP`, `POST_FORM`, `REDIRECT` |
| `paymentMethods[].label` | string |  | Payment method public label |
| `paymentMethods[].lastUpdate` | string (date-time) |  | Last update date |
| `paymentMethods[].merchantId` | string |  | Merchant ID |
| `paymentMethods[].oneclick` | boolean |  | Indicates if payment method support the oneclick functionality |
| `paymentMethods[].paymentMeanId` | integer |  | Payment mean ID associated to this payment method |
| `paymentMethods[].paymentMethodId` | integer |  | Payment method ID |
| `paymentMethods[].paymentSubType` | payment.method.SubTypeEnum |  | Payment method sub type — one of `30_DAYS`, `45_DAYS`, `60_DAYS`, `AMERICAN_EXPRESS`, `AURA`, `CARTE_BANCAIRE`, `CARTE_BLEUE`, `CHORUS`, `DINERS_CLUB`, `DISCOVER`, `JCB`, `MAESTRO`, … |
| `paymentMethods[].paymentType` | string |  | Payment method type |
| `paymentMethods[].status` | payment.method.StatusEnum |  | Payment method status — one of `CANCELED`, `CANCELING`, `CREATED`, `CREATING`, `ERROR`, `EXPIRED`, `FAILED`, `MAINTENANCE`, `PAUSED`, `REJECTED`, `REPLACED`, `VALID`, … |
| `registered` | integer[] |  | IDs of registered payment method usable on this order |

```json
{
  "available": [
    {
      "formSessionId": "string",
      "icon": {
        "data": "string",
        "name": "string",
        "url": "string"
      },
      "integration": "BANK_TRANSFER",
      "merchantId": "string",
      "oneshot": true,
      "organizationId": "string",
      "paymentSubType": "string",
      "paymentType": "string",
      "registerable": true,
      "registerableWithTransaction": true
    }
  ],
  "paymentMethods": [
    {
      "billingContactId": 0,
      "creationDate": "2024-01-01T12:00:00Z",
      "default": true,
      "description": "string",
      "expirationDate": "2024-01-01T12:00:00Z",
      "formSessionId": "string",
      "icon": {
        "data": "string",
        "name": "string",
        "url": "string"
      },
      "integration": "BANK_TRANSFER",
      "label": "string",
      "lastUpdate": "2024-01-01T12:00:00Z",
      "merchantId": "string",
      "oneclick": true,
      "paymentMeanId": 0,
      "paymentMethodId": 0,
      "paymentSubType": "30_DAYS",
      "paymentType": "string",
      "status": "CANCELED"
    }
  ],
  "registered": [
    0
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/paymentMethods" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/paymentMethods")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/paymentMethods");

print_r($result);
?>
```

## Request retraction of order

`POST /1.0/me/order/{orderId}/retraction`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-me-order-orderid-retraction

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/retraction/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `comment` | string |  | An optional comment of why you want to retract |
| `reason` | billing.order.RetractionReasonEnum | yes | The reason why you want to retract — one of `competitor`, `difficulty`, `expensive`, `other`, `performance`, `reliability`, `unused` |

```json
{
  "comment": "string",
  "reason": "competitor"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/retraction" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/me/order/{orderId}/retraction",
	comment = None, # An optional comment of why you want to retract (type: text, nullable)
	reason = None, # The reason why you want to retract (type: billing.order.RetractionReasonEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/me/order/{orderId}/retraction", array(
	comment => null, // An optional comment of why you want to retract (type: text, nullable)
	reason => null, // The reason why you want to retract (type: billing.order.RetractionReasonEnum)
));

print_r($result);
?>
```

## Return status of order

`GET /1.0/me/order/{orderId}/status`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-me-order-orderid-status

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/status/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | billing.order.OrderStatusEnum | successful operation |

```json
"cancelled"
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/status" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/me/order/{orderId}/status")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/me/order/{orderId}/status");

print_r($result);
?>
```

## Waive retraction period of order

`POST /1.0/me/order/{orderId}/waiveRetraction`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-me-order-orderid-waiveretraction

**Status:** Stable production version  
**IAM actions:** `account:apiovh:me/order/waiveRetraction`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orderId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/me/order/{orderId}/waiveRetraction" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/me/order/{orderId}/waiveRetraction")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/me/order/{orderId}/waiveRetraction");

print_r($result);
?>
```

## List of your OVH order carts

`GET /1.0/order/cart`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cart/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `description` | query | string |  | Filter the value of description property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart");

print_r($result);
?>
```

## Create a new OVH order cart

`POST /1.0/order/cart`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart

**Status:** Stable production version  
**Authentication:** none (public operation)

### Request body (required)

Type: `order.cart.Creation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | string |  | Description of your cart |
| `expire` | string (date-time) |  | Time of expiration of the cart |
| `ovhSubsidiary` | nichandle.OvhSubsidiaryEnum | yes | OVH Subsidiary where you want to order — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

```json
{
  "description": "string",
  "expire": "2024-01-01T12:00:00Z",
  "ovhSubsidiary": "ASIA"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Cart | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `description` | string | read-only | Description of your cart |
| `expire` | string (date-time) | read-only | Expiration time |
| `items` | integer[] | read-only | Items of your cart |
| `readOnly` | boolean | read-only | Indicates if the cart has already been validated |

```json
{
  "cartId": "string",
  "description": "string",
  "expire": "2024-01-01T12:00:00Z",
  "items": [
    0
  ],
  "readOnly": true
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.Creation
result = client.post("/order/cart",
	description = None, # Description of your cart (type: string)
	expire = None, # Time of expiration of the cart (type: string)
	ovhSubsidiary = None, # OVH Subsidiary where you want to order (type: nichandle.OvhSubsidiaryEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.Creation
$result = $ovh->post("/order/cart", array(
	description => null, // Description of your cart (type: string)
	expire => null, // Time of expiration of the cart (type: string)
	ovhSubsidiary => null, // OVH Subsidiary where you want to order (type: nichandle.OvhSubsidiaryEnum)
));

print_r($result);
?>
```

## Retrieve information about a specific cart

`GET /1.0/order/cart/{cartId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Cart | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `description` | string | read-only | Description of your cart |
| `expire` | string (date-time) | read-only | Expiration time |
| `items` | integer[] | read-only | Items of your cart |
| `readOnly` | boolean | read-only | Indicates if the cart has already been validated |

```json
{
  "cartId": "string",
  "description": "string",
  "expire": "2024-01-01T12:00:00Z",
  "items": [
    0
  ],
  "readOnly": true
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}");

print_r($result);
?>
```

## Modify information about a specific cart

`PUT /1.0/order/cart/{cartId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#put-order-cart-cartid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.Update`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | string |  | Description of your cart |
| `expire` | string (date-time) |  | Time of expiration of the cart |

```json
{
  "description": "string",
  "expire": "2024-01-01T12:00:00Z"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Cart | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `description` | string | read-only | Description of your cart |
| `expire` | string (date-time) | read-only | Expiration time |
| `items` | integer[] | read-only | Items of your cart |
| `readOnly` | boolean | read-only | Indicates if the cart has already been validated |

```json
{
  "cartId": "string",
  "description": "string",
  "expire": "2024-01-01T12:00:00Z",
  "items": [
    0
  ],
  "readOnly": true
}
```

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.Update
result = client.put("/order/cart/{cartId}",
	description = None, # Description of your cart (type: string)
	expire = None, # Time of expiration of the cart (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.Update
$result = $ovh->put("/order/cart/{cartId}", array(
	description => null, // Description of your cart (type: string)
	expire => null, // Time of expiration of the cart (type: string)
));

print_r($result);
?>
```

## Delete a cart

`DELETE /1.0/order/cart/{cartId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#delete-order-cart-cartid

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cart/delete`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/order/cart/{cartId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/order/cart/{cartId}");

print_r($result);
?>
```

## Get informations about an Advisory Services Hosting Web support

`GET /1.0/order/cart/{cartId}/advisoryServicesHostingWeb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-advisoryserviceshostingweb

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesHostingWeb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/advisoryServicesHostingWeb")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/advisoryServicesHostingWeb");

print_r($result);
?>
```

## Post a new Advisory Services Hosting Web support item in your cart

`POST /1.0/order/cart/{cartId}/advisoryServicesHostingWeb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-advisoryserviceshostingweb

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesHostingWeb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/advisoryServicesHostingWeb",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/advisoryServicesHostingWeb", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get informations about Advisory Services Hosting Web support options

`GET /1.0/order/cart/{cartId}/advisoryServicesHostingWeb/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-advisoryserviceshostingweb-options

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Advisory Services Hosting Web support offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesHostingWeb/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/advisoryServicesHostingWeb/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/advisoryServicesHostingWeb/options");

print_r($result);
?>
```

## Post a new Advisory Services Hosting Web support option in your cart

`POST /1.0/order/cart/{cartId}/advisoryServicesHostingWeb/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-advisoryserviceshostingweb-options

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesHostingWeb/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/advisoryServicesHostingWeb/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/advisoryServicesHostingWeb/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get informations about an Advisory Services Public Cloud support

`GET /1.0/order/cart/{cartId}/advisoryServicesPublicCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-advisoryservicespubliccloud

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesPublicCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/advisoryServicesPublicCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/advisoryServicesPublicCloud");

print_r($result);
?>
```

## Post a new Advisory Services Public Cloud support item in your cart

`POST /1.0/order/cart/{cartId}/advisoryServicesPublicCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-advisoryservicespubliccloud

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesPublicCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/advisoryServicesPublicCloud",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/advisoryServicesPublicCloud", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get informations about Advisory Services Public Cloud support options

`GET /1.0/order/cart/{cartId}/advisoryServicesPublicCloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-advisoryservicespubliccloud-options

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Advisory Services Public Cloud support offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesPublicCloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/advisoryServicesPublicCloud/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/advisoryServicesPublicCloud/options");

print_r($result);
?>
```

## Post a new Advisory Services Public Cloud support option in your cart

`POST /1.0/order/cart/{cartId}/advisoryServicesPublicCloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-advisoryservicespubliccloud-options

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesPublicCloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/advisoryServicesPublicCloud/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/advisoryServicesPublicCloud/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get informations about an Advisory Services Telecom support

`GET /1.0/order/cart/{cartId}/advisoryServicesTelecom`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-advisoryservicestelecom

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesTelecom" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/advisoryServicesTelecom")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/advisoryServicesTelecom");

print_r($result);
?>
```

## Post a new Advisory Services Telecom support item in your cart

`POST /1.0/order/cart/{cartId}/advisoryServicesTelecom`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-advisoryservicestelecom

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesTelecom" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/advisoryServicesTelecom",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/advisoryServicesTelecom", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get informations about Advisory Services Telecom support options

`GET /1.0/order/cart/{cartId}/advisoryServicesTelecom/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-advisoryservicestelecom-options

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Advisory Services Telecom support offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesTelecom/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/advisoryServicesTelecom/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/advisoryServicesTelecom/options");

print_r($result);
?>
```

## Post a new Advisory Services Telecom support option in your cart

`POST /1.0/order/cart/{cartId}/advisoryServicesTelecom/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-advisoryservicestelecom-options

**Status:** Beta version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/advisoryServicesTelecom/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/advisoryServicesTelecom/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/advisoryServicesTelecom/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about analytics offers

`GET /1.0/order/cart/{cartId}/analytics`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-analytics

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/analytics" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/analytics")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/analytics");

print_r($result);
?>
```

## Post a new analytics item in your cart

`POST /1.0/order/cart/{cartId}/analytics`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-analytics

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/analytics" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/analytics",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/analytics", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about analytics options

`GET /1.0/order/cart/{cartId}/analytics/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-analytics-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the analytics plan you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/analytics/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/analytics/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/analytics/options");

print_r($result);
?>
```

## Post a new analytics addon in your cart

`POST /1.0/order/cart/{cartId}/analytics/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-analytics-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/analytics/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/analytics/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/analytics/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Assign an order cart to your account

`POST /1.0/order/cart/{cartId}/assign`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-assign

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cart/assign`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/assign" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/cart/{cartId}/assign")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/cart/{cartId}/assign");

print_r($result);
?>
```

## Get information about BackupServices offers

`GET /1.0/order/cart/{cartId}/backupServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-backupservices

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/backupServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/backupServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/backupServices");

print_r($result);
?>
```

## Post a new BackupServices item in your cart

`POST /1.0/order/cart/{cartId}/backupServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-backupservices

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/backupServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/backupServices",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/backupServices", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about BackupServices offers

`GET /1.0/order/cart/{cartId}/backupServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-backupservices-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the BackupServices offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/backupServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/backupServices/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/backupServices/options");

print_r($result);
?>
```

## Post a new BackupServices item in your cart

`POST /1.0/order/cart/{cartId}/backupServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-backupservices-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/backupServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/backupServices/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/backupServices/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a baremetal server

`GET /1.0/order/cart/{cartId}/baremetalServers`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-baremetalservers

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/baremetalServers" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/baremetalServers")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/baremetalServers");

print_r($result);
?>
```

## Post a new baremetal server item in your cart

`POST /1.0/order/cart/{cartId}/baremetalServers`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-baremetalservers

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/baremetalServers" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/baremetalServers",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/baremetalServers", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about baremetal server options

`GET /1.0/order/cart/{cartId}/baremetalServers/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-baremetalservers-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a baremetal server offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/baremetalServers/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/baremetalServers/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/baremetalServers/options");

print_r($result);
?>
```

## Post a new baremetal server option in your cart

`POST /1.0/order/cart/{cartId}/baremetalServers/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-baremetalservers-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/baremetalServers/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/baremetalServers/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/baremetalServers/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about bring your own IP addresses offers

`GET /1.0/order/cart/{cartId}/bringYourOwnIp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-bringyourownip

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/bringYourOwnIp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/bringYourOwnIp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/bringYourOwnIp");

print_r($result);
?>
```

## Post a new bring your own IP addresses item in your cart

`POST /1.0/order/cart/{cartId}/bringYourOwnIp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-bringyourownip

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/bringYourOwnIp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/bringYourOwnIp",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/bringYourOwnIp", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about CDN offers

`GET /1.0/order/cart/{cartId}/cdn`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cdn

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cdn" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cdn")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cdn");

print_r($result);
?>
```

## Post a new CDN item in your cart

`POST /1.0/order/cart/{cartId}/cdn`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cdn

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cdn" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/cdn",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/cdn", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about CDN options

`GET /1.0/order/cart/{cartId}/cdn/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cdn-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the CDN offer you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cdn/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cdn/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cdn/options");

print_r($result);
?>
```

## Post a new CDN option in your cart

`POST /1.0/order/cart/{cartId}/cdn/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cdn-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cdn/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/cdn/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/cdn/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Ceph as a Service offers

`GET /1.0/order/cart/{cartId}/cephaas`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cephaas

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cephaas" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cephaas")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cephaas");

print_r($result);
?>
```

## Post a new Ceph as a Service item in your cart

`POST /1.0/order/cart/{cartId}/cephaas`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cephaas

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cephaas" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/cephaas",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/cephaas", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Ceph as a Service options

`GET /1.0/order/cart/{cartId}/cephaas/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cephaas-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Ceph as a Service you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cephaas/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cephaas/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cephaas/options");

print_r($result);
?>
```

## Post a new Ceph as a Service option in your cart

`POST /1.0/order/cart/{cartId}/cephaas/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cephaas-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cephaas/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/cephaas/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/cephaas/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get prices and contracts information for your cart

`GET /1.0/order/cart/{cartId}/checkout`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-checkout

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cart/checkout/simulate`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/checkout" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/checkout")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/checkout");

print_r($result);
?>
```

## Validate your shopping and create order

`POST /1.0/order/cart/{cartId}/checkout`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-checkout

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cart/checkout/execute`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.Checkout`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `waiveRetractationPeriod` | boolean |  | Indicates that order will be processed with waiving retractation period |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "waiveRetractationPeriod": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/checkout" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.Checkout
result = client.post("/order/cart/{cartId}/checkout",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean)
	waiveRetractationPeriod = None, # Indicates that order will be processed with waiving retractation period (type: boolean)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.Checkout
$result = $ovh->post("/order/cart/{cartId}/checkout", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean)
	waiveRetractationPeriod => null, // Indicates that order will be processed with waiving retractation period (type: boolean)
));

print_r($result);
?>
```

## Get information about Public Cloud offers

`GET /1.0/order/cart/{cartId}/cloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cloud");

print_r($result);
?>
```

## Post a new Public Cloud item in your cart

`POST /1.0/order/cart/{cartId}/cloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/cloud",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/cloud", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Public Cloud options

`GET /1.0/order/cart/{cartId}/cloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cloud-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Public Cloud you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cloud/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cloud/options");

print_r($result);
?>
```

## Post a new Public Cloud option in your cart

`POST /1.0/order/cart/{cartId}/cloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cloud-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/cloud/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/cloud/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get all cloud db offers available

`GET /1.0/order/cart/{cartId}/cloudDB`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-clouddb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloudDB" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cloudDB")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cloudDB");

print_r($result);
?>
```

## Add a cloudDB in your cart

`POST /1.0/order/cart/{cartId}/cloudDB`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-clouddb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloudDB" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/cloudDB",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/cloudDB", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Cloud Web offers

`GET /1.0/order/cart/{cartId}/cloudweb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cloudweb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloudweb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cloudweb")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cloudweb");

print_r($result);
?>
```

## Post a new Cloud Web item in your cart

`POST /1.0/order/cart/{cartId}/cloudweb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cloudweb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloudweb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/cloudweb",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/cloudweb", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Cloud Web options

`GET /1.0/order/cart/{cartId}/cloudweb/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-cloudweb-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Cloud Web you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloudweb/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/cloudweb/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/cloudweb/options");

print_r($result);
?>
```

## Post a new Cloud Web option in your cart

`POST /1.0/order/cart/{cartId}/cloudweb/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-cloudweb-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/cloudweb/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/cloudweb/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/cloudweb/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Retrieve coupons associated to cart

`GET /1.0/order/cart/{cartId}/coupon`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-coupon

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/coupon" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/coupon")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/coupon");

print_r($result);
?>
```

## Add a new coupon to cart

`POST /1.0/order/cart/{cartId}/coupon`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-coupon

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.CouponCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `coupon` | string | yes | Coupon identifier |

```json
{
  "coupon": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/coupon" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.CouponCreation
result = client.post("/order/cart/{cartId}/coupon",
	coupon = None, # Coupon identifier (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.CouponCreation
$result = $ovh->post("/order/cart/{cartId}/coupon", array(
	coupon => null, // Coupon identifier (type: string)
));

print_r($result);
?>
```

## Delete a coupon from cart

`DELETE /1.0/order/cart/{cartId}/coupon`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#delete-order-cart-cartid-coupon

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `coupon` | query | string | yes | Coupon identifier |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/coupon" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/order/cart/{cartId}/coupon")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/order/cart/{cartId}/coupon");

print_r($result);
?>
```

## Get information about SaaS CSP2 offers

`GET /1.0/order/cart/{cartId}/csp2`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-csp2

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/csp2" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/csp2")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/csp2");

print_r($result);
?>
```

## Post a new SaaS CSP2 offer item in your cart

`POST /1.0/order/cart/{cartId}/csp2`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-csp2

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/csp2" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/csp2",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/csp2", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SaaS CSP2 options

`GET /1.0/order/cart/{cartId}/csp2/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-csp2-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a SaaS CSP2 main offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/csp2/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/csp2/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/csp2/options");

print_r($result);
?>
```

## Post a new SaaS CSP2 option in your cart

`POST /1.0/order/cart/{cartId}/csp2/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-csp2-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/csp2/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/csp2/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/csp2/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a timeseries offer

`GET /1.0/order/cart/{cartId}/dbaasTimeseries`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dbaastimeseries

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dbaasTimeseries" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dbaasTimeseries")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dbaasTimeseries");

print_r($result);
?>
```

## Post a new timeseries offer item in your cart

`POST /1.0/order/cart/{cartId}/dbaasTimeseries`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dbaastimeseries

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dbaasTimeseries" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dbaasTimeseries",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dbaasTimeseries", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a dedicated server

`GET /1.0/order/cart/{cartId}/dedicated`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicated

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string |  | Filter the value of planCode property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicated" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicated")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicated");

print_r($result);
?>
```

## Post a new dedicated server item in your cart

`POST /1.0/order/cart/{cartId}/dedicated`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicated

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicated" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicated",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicated", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicated server options

`GET /1.0/order/cart/{cartId}/dedicated/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicated-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string | yes | Identifier of a dedicated server offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicated/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicated/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicated/options");

print_r($result);
?>
```

## Post a new dedicated server option in your cart

`POST /1.0/order/cart/{cartId}/dedicated/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicated-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicated/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicated/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicated/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a dedicated server

`GET /1.0/order/cart/{cartId}/dedicatedCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedcloud

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string |  | Filter the value of planCode property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedCloud");

print_r($result);
?>
```

## Post a new dedicated server item in your cart

`POST /1.0/order/cart/{cartId}/dedicatedCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedcloud

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicatedCloud",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedCloud", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicated server options

`GET /1.0/order/cart/{cartId}/dedicatedCloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedcloud-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string | yes | Identifier of a dedicated server offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedCloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedCloud/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedCloud/options");

print_r($result);
?>
```

## Post a new dedicated server option in your cart

`POST /1.0/order/cart/{cartId}/dedicatedCloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedcloud-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedCloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicatedCloud/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedCloud/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a dedicated Direct Sales server

`GET /1.0/order/cart/{cartId}/dedicatedDirectSales`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicateddirectsales

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedDirectSales" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedDirectSales")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedDirectSales");

print_r($result);
?>
```

## Post a new dedicated Direct Sales server item in your cart

`POST /1.0/order/cart/{cartId}/dedicatedDirectSales`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicateddirectsales

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedDirectSales" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicatedDirectSales",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedDirectSales", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicated Direct Sales server options

`GET /1.0/order/cart/{cartId}/dedicatedDirectSales/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicateddirectsales-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedDirectSales/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedDirectSales/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedDirectSales/options");

print_r($result);
?>
```

## Post a new dedicated Direct Sales server option in your cart

`POST /1.0/order/cart/{cartId}/dedicatedDirectSales/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicateddirectsales-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedDirectSales/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicatedDirectSales/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedDirectSales/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a dedicated labs server

`GET /1.0/order/cart/{cartId}/dedicatedLabs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedlabs

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string |  | Filter the value of planCode property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLabs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedLabs")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedLabs");

print_r($result);
?>
```

## Post a new dedicated labs server item in your cart

`POST /1.0/order/cart/{cartId}/dedicatedLabs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedlabs

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLabs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicatedLabs",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedLabs", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicated labs server options

`GET /1.0/order/cart/{cartId}/dedicatedLabs/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedlabs-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a dedicated labs server offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLabs/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedLabs/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedLabs/options");

print_r($result);
?>
```

## Post a new dedicated labs server option in your cart

`POST /1.0/order/cart/{cartId}/dedicatedLabs/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedlabs-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLabs/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicatedLabs/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedLabs/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicatedLegacy

`GET /1.0/order/cart/{cartId}/dedicatedLegacy`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedlegacy

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLegacy" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedLegacy")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedLegacy");

print_r($result);
?>
```

## Post a new dedicatedLegacy item in your cart

`POST /1.0/order/cart/{cartId}/dedicatedLegacy`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedlegacy

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLegacy" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicatedLegacy",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedLegacy", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about the options of Ovh offers

`GET /1.0/order/cart/{cartId}/dedicatedLegacy/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedlegacy-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of an Ovh offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLegacy/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedLegacy/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedLegacy/options");

print_r($result);
?>
```

## Post a new Ovh option in your cart

`POST /1.0/order/cart/{cartId}/dedicatedLegacy/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedlegacy-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedLegacy/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicatedLegacy/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedLegacy/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a dedicated server

`GET /1.0/order/cart/{cartId}/dedicatedPciVps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedpcivps

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string |  | Filter the value of planCode property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedPciVps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedPciVps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedPciVps");

print_r($result);
?>
```

## Post a new dedicated server item in your cart

`POST /1.0/order/cart/{cartId}/dedicatedPciVps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedpcivps

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedPciVps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicatedPciVps",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedPciVps", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicated server options

`GET /1.0/order/cart/{cartId}/dedicatedPciVps/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedpcivps-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string | yes | Identifier of a dedicated server offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedPciVps/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedPciVps/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedPciVps/options");

print_r($result);
?>
```

## Post a new dedicated server option in your cart

`POST /1.0/order/cart/{cartId}/dedicatedPciVps/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedpcivps-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedPciVps/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicatedPciVps/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedPciVps/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a dedicated server for US Reseller

`GET /1.0/order/cart/{cartId}/dedicatedReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string |  | Filter the value of planCode property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedReseller");

print_r($result);
?>
```

## Post a new dedicated server item in your cart

`POST /1.0/order/cart/{cartId}/dedicatedReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dedicatedReseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedReseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about dedicated server options

`GET /1.0/order/cart/{cartId}/dedicatedReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dedicatedreseller-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `family` | query | string |  | Filter the value of family property (=) |
| `planCode` | query | string | yes | Identifier of a dedicated server offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dedicatedReseller/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dedicatedReseller/options");

print_r($result);
?>
```

## Post a new dedicated server option in your cart

`POST /1.0/order/cart/{cartId}/dedicatedReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dedicatedreseller-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dedicatedReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dedicatedReseller/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dedicatedReseller/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Desk As A Service offers

`GET /1.0/order/cart/{cartId}/deskaas`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-deskaas

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/deskaas" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/deskaas")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/deskaas");

print_r($result);
?>
```

## Post a new Desk as a service item in your cart

`POST /1.0/order/cart/{cartId}/deskaas`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-deskaas

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/deskaas" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/deskaas",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/deskaas", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Dedicated Discover server offers

`GET /1.0/order/cart/{cartId}/discover`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-discover

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/discover" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/discover")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/discover");

print_r($result);
?>
```

## Post a new Dedicated Discover server item in your cart

`POST /1.0/order/cart/{cartId}/discover`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-discover

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/discover" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/discover",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/discover", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Dedicated Discover server options

`GET /1.0/order/cart/{cartId}/discover/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-discover-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Dedicated Discover server you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/discover/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/discover/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/discover/options");

print_r($result);
?>
```

## Post a new Dedicated Discover server option in your cart

`POST /1.0/order/cart/{cartId}/discover/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-discover-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/discover/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/discover/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/discover/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about DNS zone offer

`GET /1.0/order/cart/{cartId}/dns`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dns

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dns" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dns")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dns");

print_r($result);
?>
```

## Post a new DNS zone item in your cart

`POST /1.0/order/cart/{cartId}/dns`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dns

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dns" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/dns",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/dns", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about DNS options

`GET /1.0/order/cart/{cartId}/dns/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-dns-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the DNS offer you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dns/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/dns/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/dns/options");

print_r($result);
?>
```

## Post a new DNS option in your cart

`POST /1.0/order/cart/{cartId}/dns/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-dns-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/dns/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/dns/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/dns/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a domain name

`GET /1.0/order/cart/{cartId}/domain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-domain

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `domain` | query | string | yes | Domain name requested |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.ProductInformation[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | order.cart.DomainActionEnum | read-only | Action kind — one of `create`, `trade`, `transfer`, `update` |
| `configurations` | order.cart.ConfigurationRequirements[] | read-only | Information about the configurations required |
| `configurations[].fields` | string[] | read-only | Indicates if some particular fields have to be inputed during the creation of `type` resource |
| `configurations[].label` | string | read-only | Label for your configuration item |
| `configurations[].required` | boolean | read-only | Indicates if the configuration item is required |
| `configurations[].type` | string | read-only | Type of the configuration item |
| `currentNameservers` | string[] | read-only | Current nameservers of the domain (from RDAP) |
| `deliveryTime` | string | read-only | Information about the estimated delivery time for the product |
| `duration` | string (duration)[] | read-only | List all the duration allowed for the product |
| `isAuthInfoRequired` | boolean | read-only | Indicates if an authInfo has to be provided to order this product, only set on transfer products: the incoming transfer process of some extensions does not rely on an authInfo at all. Mirrors lifecycle.transfer.isAuthInfoRequired of the extension registry configurations |
| `isTransferLocked` | boolean | read-only | Indicates if the domain has a transfer lock status (client or server transfer prohibited) |
| `offer` | string | read-only | Information about the domain's offer (gold\|diamond\|platinium) |
| `offerId` | string | read-only | ID of the related offer |
| `orderable` | boolean | read-only | Indicates if the product is orderable or not |
| `phase` | string | read-only | Information about the domain phase |
| `prices` | order.cart.Price[] | read-only | Price details of the product |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `pricingMode` | string | read-only | Pricing model identifier for this product |
| `productId` | string | read-only | Product identifier |
| `quantityMax` | integer | read-only | Maximum quantity purchasable for this product |
| `recommendedDuration` | string (duration) | read-only | Recommended duration for this product |
| `transfer` | order.cart.DomainTransferInformation | read-only | Conditions affecting the transfer of this domain, only set on transfer products. Supersedes isTransferLocked, which is kept during deprecation |
| `transfer.conditions` | order.cart.DomainTransferCondition[] | read-only | Conditions affecting the transfer, most significant first: a registrar lock, a post-creation block period, an expiry, a transfer already running at the registry. Empty when none applies. They explain what stands in the way; whether the product can be ordered is said by orderable |
| `transfer.conditions[].arguments` | order.cart.DomainTransferConditionArgument[] | read-only | Values needed to build the message for this condition. Empty when the condition takes no parameter |
| `transfer.conditions[].code` | order.cart.DomainTransferConditionCodeEnum | read-only | Condition code — one of `administrativeBlock`, `alreadyAtOvh`, `authInfoRequired`, `domainAvailable`, `expired`, `expiresSoon`, `forbidden`, `orderPhaseClosed`, `registrarLock`, `registryDataUnavailable`, `registryMaintenance`, `reserved`, … |
| `transfer.conditions[].description` | string | read-only | English wording of the condition, argument values already interpolated. Default value for consumers without an internationalisation layer. Never translated, and not meant to be parsed: build your own message from the code and the arguments if you localise |

```json
[
  {
    "action": "create",
    "configurations": [
      {
        "fields": [
          "string"
        ],
        "label": "string",
        "required": true,
        "type": "string"
      }
    ],
    "currentNameservers": [
      "string"
    ],
    "deliveryTime": "string",
    "duration": [
      "string"
    ],
    "isAuthInfoRequired": true,
    "isTransferLocked": true,
    "offer": "string",
    "offerId": "string",
    "orderable": true,
    "phase": "string",
    "prices": [
      {
        "label": "DISCOUNT",
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "pricingMode": "string",
    "productId": "string",
    "quantityMax": 0,
    "recommendedDuration": "string",
    "transfer": {
      "conditions": [
        {
          "arguments": [
            {
              "name": null,
              "value": null
            }
          ],
          "code": "administrativeBlock",
          "description": "string"
        }
      ]
    }
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/domain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/domain");

print_r($result);
?>
```

## Post a new domain name in your cart

`POST /1.0/order/cart/{cartId}/domain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-domain

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericDomainCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `domain` | string | yes | Domain name to order |
| `duration` | string (duration) |  | Duration for the product |
| `offerId` | string |  | Offer unique identifier |
| `planCode` | string |  | Identifier of the commercial offer |
| `pricingMode` | string |  | Pricing mode selected for the purchase of the product |
| `quantity` | integer |  | Quantity to order |

```json
{
  "domain": "string",
  "duration": "string",
  "offerId": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericDomainCreation
result = client.post("/order/cart/{cartId}/domain",
	domain = None, # Domain name to order (type: string)
	duration = None, # Duration for the product (type: string, nullable)
	offerId = None, # Offer unique identifier (type: string, nullable)
	planCode = None, # Identifier of the commercial offer (type: string, nullable)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string, nullable)
	quantity = None, # Quantity to order (type: integer, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericDomainCreation
$result = $ovh->post("/order/cart/{cartId}/domain", array(
	domain => null, // Domain name to order (type: string)
	duration => null, // Duration for the product (type: string, nullable)
	offerId => null, // Offer unique identifier (type: string, nullable)
	planCode => null, // Identifier of the commercial offer (type: string, nullable)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string, nullable)
	quantity => null, // Quantity to order (type: integer, nullable)
));

print_r($result);
?>
```

## Get information about domain names options

`GET /1.0/order/cart/{cartId}/domain/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-domain-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `domain` | query | string | yes | Domain name linked to the option |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domain/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/domain/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/domain/options");

print_r($result);
?>
```

## Post a new domain name option in your cart

`POST /1.0/order/cart/{cartId}/domain/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-domain-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericDomainOptionsCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of a domain name option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domain/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericDomainOptionsCreation
result = client.post("/order/cart/{cartId}/domain/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of a domain name option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericDomainOptionsCreation
$result = $ovh->post("/order/cart/{cartId}/domain/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of a domain name option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Domain packs offers (AllDom)

`GET /1.0/order/cart/{cartId}/domainPacks`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-domainpacks

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2023-03-01, removed on 2023-06-01; use `/order/cart/{cartId}/domain` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `domain` | query | string | yes | Domain name requested |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.DomainPacksProductInformation[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | order.cart.DomainPacksDescription | read-only | Specific details about domain packs offer |
| `description.domains` | order.cart.DomainPacksDescriptionItem[] | read-only | Information about domains availability |
| `description.domains[].available` | boolean | read-only | Indicates if domain is available and will be included in the pack |
| `description.domains[].domain` | string | read-only | Domain concerned by the availability |
| `planCode` | string | read-only | Identifier of the offer |
| `prices` | order.cart.GenericProductPricing[] | read-only | Prices of the offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |

```json
[
  {
    "description": {
      "domains": [
        {
          "available": true,
          "domain": "string"
        }
      ]
    },
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ]
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domainPacks" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/domainPacks")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/domainPacks");

print_r($result);
?>
```

## Post a new Domain Packs item (AllDom) in your cart

`POST /1.0/order/cart/{cartId}/domainPacks`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-domainpacks

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2023-03-01, removed on 2023-06-01; use `/order/cart/{cartId}/domain` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.DomainPacksCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `domain` | string | yes | Domain name to order |
| `duration` | string | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the Domain Packs offer (AllDom) |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "domain": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domainPacks" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.DomainPacksCreation
result = client.post("/order/cart/{cartId}/domainPacks",
	domain = None, # Domain name to order (type: string)
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the Domain Packs offer (AllDom) (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.DomainPacksCreation
$result = $ovh->post("/order/cart/{cartId}/domainPacks", array(
	domain => null, // Domain name to order (type: string)
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the Domain Packs offer (AllDom) (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Domain Restore

`GET /1.0/order/cart/{cartId}/domainRestore`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-domainrestore

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2023-03-01, removed on 2023-06-01; use `/service/{serviceId}/renew` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `domain` | query | string | yes | Domain name requested |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/domainRestore" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/domainRestore")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/domainRestore");

print_r($result);
?>
```

## Get information about a eco

`GET /1.0/order/cart/{cartId}/eco`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-eco

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/eco" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/eco")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/eco");

print_r($result);
?>
```

## Post a new eco item in your cart

`POST /1.0/order/cart/{cartId}/eco`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-eco

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/eco" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/eco",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/eco", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about the options of a Eco

`GET /1.0/order/cart/{cartId}/eco/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-eco-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Eco offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/eco/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/eco/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/eco/options");

print_r($result);
?>
```

## Post a new Eco option in your cart

`POST /1.0/order/cart/{cartId}/eco/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-eco-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/eco/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/eco/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/eco/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get all available packs available with emails packs

`GET /1.0/order/cart/{cartId}/emailDomain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-emaildomain

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/emailDomain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/emailDomain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/emailDomain");

print_r($result);
?>
```

## Add a 1-domain emails pack in your cart

`POST /1.0/order/cart/{cartId}/emailDomain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-emaildomain

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/emailDomain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/emailDomain",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/emailDomain", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about EmailPro offers

`GET /1.0/order/cart/{cartId}/emailpro`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-emailpro

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/emailpro" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/emailpro")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/emailpro");

print_r($result);
?>
```

## Post a new EmailPro item in your cart

`POST /1.0/order/cart/{cartId}/emailpro`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-emailpro

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/emailpro" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/emailpro",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/emailpro", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about EmailPro options

`GET /1.0/order/cart/{cartId}/emailpro/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-emailpro-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the EmailPro you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/emailpro/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/emailpro/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/emailpro/options");

print_r($result);
?>
```

## Post a new EmailPro option in your cart

`POST /1.0/order/cart/{cartId}/emailpro/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-emailpro-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/emailpro/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/emailpro/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/emailpro/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Exchange offers

`GET /1.0/order/cart/{cartId}/exchange`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-exchange

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchange" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/exchange")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/exchange");

print_r($result);
?>
```

## Post a new Exchange item in your cart

`POST /1.0/order/cart/{cartId}/exchange`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-exchange

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchange" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/exchange",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/exchange", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Exchange options

`GET /1.0/order/cart/{cartId}/exchange/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-exchange-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Exchange you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchange/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/exchange/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/exchange/options");

print_r($result);
?>
```

## Post a new Exchange option in your cart

`POST /1.0/order/cart/{cartId}/exchange/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-exchange-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchange/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/exchange/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/exchange/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Exchange Enterprise offers

`GET /1.0/order/cart/{cartId}/exchangeEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-exchangeenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchangeEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/exchangeEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/exchangeEnterprise");

print_r($result);
?>
```

## Post a new Exchange Enterprise item in your cart

`POST /1.0/order/cart/{cartId}/exchangeEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-exchangeenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchangeEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/exchangeEnterprise",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/exchangeEnterprise", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Exchange Enterprise options

`GET /1.0/order/cart/{cartId}/exchangeEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-exchangeenterprise-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Exchange Enterprise offer you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchangeEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/exchangeEnterprise/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/exchangeEnterprise/options");

print_r($result);
?>
```

## Post a new Exchange Enterprise option in your cart

`POST /1.0/order/cart/{cartId}/exchangeEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-exchangeenterprise-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/exchangeEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/exchangeEnterprise/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/exchangeEnterprise/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about IP addresses offers

`GET /1.0/order/cart/{cartId}/ip`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ip

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ip" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ip")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ip");

print_r($result);
?>
```

## Post a new IP addresses item in your cart

`POST /1.0/order/cart/{cartId}/ip`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ip

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ip" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ip",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ip", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about IP addresses options

`GET /1.0/order/cart/{cartId}/ip/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ip-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the IP addresses you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ip/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ip/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ip/options");

print_r($result);
?>
```

## Post a new IP addresses option in your cart

`POST /1.0/order/cart/{cartId}/ip/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ip-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ip/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/ip/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/ip/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about IP Load-Balancing offers

`GET /1.0/order/cart/{cartId}/ipLoadbalancing`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-iploadbalancing

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipLoadbalancing" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ipLoadbalancing")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ipLoadbalancing");

print_r($result);
?>
```

## Post a new IP Load-Balancing item in your cart

`POST /1.0/order/cart/{cartId}/ipLoadbalancing`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-iploadbalancing

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipLoadbalancing" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ipLoadbalancing",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ipLoadbalancing", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about IP Load-Balancing options

`GET /1.0/order/cart/{cartId}/ipLoadbalancing/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-iploadbalancing-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the IP Load-Balancing you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipLoadbalancing/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ipLoadbalancing/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ipLoadbalancing/options");

print_r($result);
?>
```

## Post a new IP Load-Balancing option in your cart

`POST /1.0/order/cart/{cartId}/ipLoadbalancing/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-iploadbalancing-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipLoadbalancing/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/ipLoadbalancing/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/ipLoadbalancing/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a IP Reseller

`GET /1.0/order/cart/{cartId}/ipReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ipreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ipReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ipReseller");

print_r($result);
?>
```

## Post a new IP Reseller item in your cart

`POST /1.0/order/cart/{cartId}/ipReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ipreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ipReseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ipReseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about IP addresses offers for SecNumCloud environments

`GET /1.0/order/cart/{cartId}/ipSnc`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ipsnc

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipSnc" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ipSnc")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ipSnc");

print_r($result);
?>
```

## Post a new IP addresses for SecNumCloud environments item in your cart

`POST /1.0/order/cart/{cartId}/ipSnc`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ipsnc

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipSnc" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ipSnc",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ipSnc", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about IP addresses options for SecNumCloud environment

`GET /1.0/order/cart/{cartId}/ipSnc/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ipsnc-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the IP addresses for SecNumCloud environment you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipSnc/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ipSnc/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ipSnc/options");

print_r($result);
?>
```

## Post a new IP addresses for SecNumCloud environment option in your cart

`POST /1.0/order/cart/{cartId}/ipSnc/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ipsnc-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ipSnc/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/ipSnc/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/ipSnc/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about offers

`GET /1.0/order/cart/{cartId}/ispPublic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-isppublic

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispPublic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ispPublic")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ispPublic");

print_r($result);
?>
```

## Add a new item in your cart

`POST /1.0/order/cart/{cartId}/ispPublic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-isppublic

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispPublic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ispPublic",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ispPublic", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about options

`GET /1.0/order/cart/{cartId}/ispPublic/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-isppublic-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the plan you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispPublic/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ispPublic/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ispPublic/options");

print_r($result);
?>
```

## Add a new option in your cart

`POST /1.0/order/cart/{cartId}/ispPublic/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-isppublic-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispPublic/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/ispPublic/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/ispPublic/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about offers

`GET /1.0/order/cart/{cartId}/ispReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ispreseller

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ispReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ispReseller");

print_r($result);
?>
```

## Add a new item in your cart

`POST /1.0/order/cart/{cartId}/ispReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ispreseller

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ispReseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ispReseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about options

`GET /1.0/order/cart/{cartId}/ispReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ispreseller-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the plan you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ispReseller/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ispReseller/options");

print_r($result);
?>
```

## Post a new option in your cart

`POST /1.0/order/cart/{cartId}/ispReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ispreseller-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ispReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/ispReseller/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/ispReseller/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## List all the items of a cart

`GET /1.0/order/cart/{cartId}/item`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-item

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | integer[] | successful operation |

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/item")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/item");

print_r($result);
?>
```

## Retrieve information about a specific item of a cart

`GET /1.0/order/cart/{cartId}/item/{itemId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-item-itemid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `itemId` | path | integer | yes | Item ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/item/{itemId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/item/{itemId}");

print_r($result);
?>
```

## Update some values on a cart item

`PUT /1.0/order/cart/{cartId}/item/{itemId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#put-order-cart-cartid-item-itemid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `itemId` | path | integer | yes | Item ID |

### Request body (required)

Type: `order.cart.ItemUpdate`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) |  | New duration for item |
| `quantity` | integer |  | New quantity for item |

```json
{
  "duration": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.ItemUpdate
result = client.put("/order/cart/{cartId}/item/{itemId}",
	duration = None, # New duration for item (type: string)
	quantity = None, # New quantity for item (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.ItemUpdate
$result = $ovh->put("/order/cart/{cartId}/item/{itemId}", array(
	duration => null, // New duration for item (type: string)
	quantity => null, // New quantity for item (type: integer)
));

print_r($result);
?>
```

## Delete an item from a cart

`DELETE /1.0/order/cart/{cartId}/item/{itemId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#delete-order-cart-cartid-item-itemid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `itemId` | path | integer | yes | Item ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/order/cart/{cartId}/item/{itemId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/order/cart/{cartId}/item/{itemId}");

print_r($result);
?>
```

## Retrieve all configuration item of the cart item

`GET /1.0/order/cart/{cartId}/item/{itemId}/configuration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-item-itemid-configuration

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `itemId` | path | integer | yes | Item ID |
| `label` | query | string |  | Filter the value of label property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | integer[] | successful operation |

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}/configuration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/item/{itemId}/configuration")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/item/{itemId}/configuration");

print_r($result);
?>
```

## Setup configuration item for the product

`POST /1.0/order/cart/{cartId}/item/{itemId}/configuration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-item-itemid-configuration

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `itemId` | path | integer | yes | Item ID |

### Request body (required)

Type: `order.cart.ItemConfigurationCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `label` | string | yes | Label for your configuration item |
| `value` | string | yes | Value or resource URL on API.OVH.COM of your configuration item |

```json
{
  "label": "string",
  "value": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.ConfigurationItem | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | read-only | Configuration ID |
| `label` | string | read-only | Identifier of the resource |
| `value` | string | read-only | Path to the resource in API.OVH.COM |

```json
{
  "id": 0,
  "label": "string",
  "value": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}/configuration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.ItemConfigurationCreation
result = client.post("/order/cart/{cartId}/item/{itemId}/configuration",
	label = None, # Label for your configuration item (type: string)
	value = None, # Value or resource URL on API.OVH.COM of your configuration item (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.ItemConfigurationCreation
$result = $ovh->post("/order/cart/{cartId}/item/{itemId}/configuration", array(
	label => null, // Label for your configuration item (type: string)
	value => null, // Value or resource URL on API.OVH.COM of your configuration item (type: string)
));

print_r($result);
?>
```

## Retrieve configuration item

`GET /1.0/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-item-itemid-configuration-configurationid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `configurationId` | path | integer | yes | Configuration ID |
| `itemId` | path | integer | yes | Item ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.ConfigurationItem | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | read-only | Configuration ID |
| `label` | string | read-only | Identifier of the resource |
| `value` | string | read-only | Path to the resource in API.OVH.COM |

```json
{
  "id": 0,
  "label": "string",
  "value": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}");

print_r($result);
?>
```

## Delete configuration item

`DELETE /1.0/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#delete-order-cart-cartid-item-itemid-configuration-configurationid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `configurationId` | path | integer | yes | Configuration ID |
| `itemId` | path | integer | yes | Item ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/order/cart/{cartId}/item/{itemId}/configuration/{configurationId}");

print_r($result);
?>
```

## Retrieve all required configuration item of the cart item

`GET /1.0/order/cart/{cartId}/item/{itemId}/requiredConfiguration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-item-itemid-requiredconfiguration

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `itemId` | path | integer | yes | Item ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.ConfigurationRequirements[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `fields` | string[] | read-only | Indicates if some particular fields have to be inputed during the creation of `type` resource |
| `label` | string | read-only | Label for your configuration item |
| `required` | boolean | read-only | Indicates if the configuration item is required |
| `type` | string | read-only | Type of the configuration item |

```json
[
  {
    "fields": [
      "string"
    ],
    "label": "string",
    "required": true,
    "type": "string"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/item/{itemId}/requiredConfiguration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/item/{itemId}/requiredConfiguration")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/item/{itemId}/requiredConfiguration");

print_r($result);
?>
```

## Get information about Kubernetes offers

`GET /1.0/order/cart/{cartId}/kubernetes`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-kubernetes

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/kubernetes" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/kubernetes")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/kubernetes");

print_r($result);
?>
```

## Post a new Kubernetes item in your cart

`POST /1.0/order/cart/{cartId}/kubernetes`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-kubernetes

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/kubernetes" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/kubernetes",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/kubernetes", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Kubernetes options

`GET /1.0/order/cart/{cartId}/kubernetes/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-kubernetes-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Kubernetes you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/kubernetes/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/kubernetes/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/kubernetes/options");

print_r($result);
?>
```

## Post a new Kubernetes option in your cart

`POST /1.0/order/cart/{cartId}/kubernetes/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-kubernetes-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/kubernetes/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/kubernetes/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/kubernetes/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about HYCU licenses offers

`GET /1.0/order/cart/{cartId}/licenseHycu`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-licensehycu

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licenseHycu" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/licenseHycu")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/licenseHycu");

print_r($result);
?>
```

## Add a new HYCU license item in your cart

`POST /1.0/order/cart/{cartId}/licenseHycu`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-licensehycu

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licenseHycu" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/licenseHycu",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/licenseHycu", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Plesk licenses offers

`GET /1.0/order/cart/{cartId}/licensePlesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-licenseplesk

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licensePlesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/licensePlesk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/licensePlesk");

print_r($result);
?>
```

## Post a new Plesk license item in your cart

`POST /1.0/order/cart/{cartId}/licensePlesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-licenseplesk

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licensePlesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/licensePlesk",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/licensePlesk", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Plesk license options

`GET /1.0/order/cart/{cartId}/licensePlesk/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-licenseplesk-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Plesk license you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licensePlesk/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/licensePlesk/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/licensePlesk/options");

print_r($result);
?>
```

## Post a new Plesk license option in your cart

`POST /1.0/order/cart/{cartId}/licensePlesk/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-licenseplesk-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licensePlesk/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/licensePlesk/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/licensePlesk/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SqlServer licenses offers

`GET /1.0/order/cart/{cartId}/licenseSqlServer`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-licensesqlserver

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licenseSqlServer" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/licenseSqlServer")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/licenseSqlServer");

print_r($result);
?>
```

## Post a new SqlServer license item in your cart

`POST /1.0/order/cart/{cartId}/licenseSqlServer`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-licensesqlserver

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licenseSqlServer" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/licenseSqlServer",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/licenseSqlServer", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Windows licenses offers

`GET /1.0/order/cart/{cartId}/licenseWindows`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-licensewindows

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licenseWindows" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/licenseWindows")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/licenseWindows");

print_r($result);
?>
```

## Post a new Windows license item in your cart

`POST /1.0/order/cart/{cartId}/licenseWindows`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-licensewindows

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licenseWindows" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/licenseWindows",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/licenseWindows", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about cPanel licenses offers

`GET /1.0/order/cart/{cartId}/licensecPanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-licensecpanel

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licensecPanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/licensecPanel")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/licensecPanel");

print_r($result);
?>
```

## Post a new cPanel license item in your cart

`POST /1.0/order/cart/{cartId}/licensecPanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-licensecpanel

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/licensecPanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/licensecPanel",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/licensecPanel", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Logs offers

`GET /1.0/order/cart/{cartId}/logs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-logs

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/logs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/logs")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/logs");

print_r($result);
?>
```

## Post a new Logs item in your cart

`POST /1.0/order/cart/{cartId}/logs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-logs

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/logs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/logs",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/logs", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Logs options

`GET /1.0/order/cart/{cartId}/logs/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-logs-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Logs you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/logs/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/logs/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/logs/options");

print_r($result);
?>
```

## Post a new Logs option in your cart

`POST /1.0/order/cart/{cartId}/logs/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-logs-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/logs/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/logs/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/logs/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Managed CMS offers

`GET /1.0/order/cart/{cartId}/managedCMS`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-managedcms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedCMS" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/managedCMS")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/managedCMS");

print_r($result);
?>
```

## Post a new Managed CMS item in your cart

`POST /1.0/order/cart/{cartId}/managedCMS`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-managedcms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedCMS" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/managedCMS",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/managedCMS", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Managed CMS options

`GET /1.0/order/cart/{cartId}/managedCMS/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-managedcms-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Managed CMS you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedCMS/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/managedCMS/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/managedCMS/options");

print_r($result);
?>
```

## Post a new Managed CMS option in your cart

`POST /1.0/order/cart/{cartId}/managedCMS/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-managedcms-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedCMS/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/managedCMS/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/managedCMS/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Managed Services offers

`GET /1.0/order/cart/{cartId}/managedServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-managedservices

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/managedServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/managedServices");

print_r($result);
?>
```

## Post a new Managed Services item in your cart

`POST /1.0/order/cart/{cartId}/managedServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-managedservices

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/managedServices",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/managedServices", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Managed Services options

`GET /1.0/order/cart/{cartId}/managedServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-managedservices-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Managed Services you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/managedServices/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/managedServices/options");

print_r($result);
?>
```

## Post a new Managed Services option in your cart

`POST /1.0/order/cart/{cartId}/managedServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-managedservices-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/managedServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/managedServices/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/managedServices/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Metrics offers

`GET /1.0/order/cart/{cartId}/metrics`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-metrics

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/metrics" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/metrics")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/metrics");

print_r($result);
?>
```

## Post a new Metrics item in your cart

`POST /1.0/order/cart/{cartId}/metrics`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-metrics

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/metrics" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/metrics",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/metrics", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Metrics options

`GET /1.0/order/cart/{cartId}/metrics/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-metrics-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Metrics you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/metrics/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/metrics/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/metrics/options");

print_r($result);
?>
```

## Post a new Metrics option in your cart

`POST /1.0/order/cart/{cartId}/metrics/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-metrics-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/metrics/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/metrics/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/metrics/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Microsoft offers

`GET /1.0/order/cart/{cartId}/microsoft`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-microsoft

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/microsoft" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/microsoft")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/microsoft");

print_r($result);
?>
```

## Post a new Microsoft offer item in your cart

`POST /1.0/order/cart/{cartId}/microsoft`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-microsoft

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/microsoft" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/microsoft",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/microsoft", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Microsoft options

`GET /1.0/order/cart/{cartId}/microsoft/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-microsoft-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Microsoft main offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/microsoft/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/microsoft/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/microsoft/options");

print_r($result);
?>
```

## Post a new Microsoft option in your cart

`POST /1.0/order/cart/{cartId}/microsoft/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-microsoft-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/microsoft/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/microsoft/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/microsoft/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about NAS HA offers

`GET /1.0/order/cart/{cartId}/nasha`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-nasha

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nasha" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/nasha")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/nasha");

print_r($result);
?>
```

## Post a new NAS HA item in your cart

`POST /1.0/order/cart/{cartId}/nasha`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-nasha

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nasha" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/nasha",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/nasha", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about NAS HA options

`GET /1.0/order/cart/{cartId}/nasha/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-nasha-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the NAS HA you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nasha/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/nasha/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/nasha/options");

print_r($result);
?>
```

## Post a new NAS HA option in your cart

`POST /1.0/order/cart/{cartId}/nasha/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-nasha-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nasha/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/nasha/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/nasha/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about NetApp offers

`GET /1.0/order/cart/{cartId}/netapp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-netapp

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/netapp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/netapp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/netapp");

print_r($result);
?>
```

## Post a new NetApp offer item in your cart

`POST /1.0/order/cart/{cartId}/netapp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-netapp

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/netapp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/netapp",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/netapp", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about NetApp options

`GET /1.0/order/cart/{cartId}/netapp/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-netapp-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the NetApp offer you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/netapp/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/netapp/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/netapp/options");

print_r($result);
?>
```

## Post a new NetApp option in your cart

`POST /1.0/order/cart/{cartId}/netapp/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-netapp-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/netapp/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/netapp/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/netapp/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a Nutanix

`GET /1.0/order/cart/{cartId}/nutanix`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-nutanix

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nutanix" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/nutanix")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/nutanix");

print_r($result);
?>
```

## Post a new Nutanix item in your cart

`POST /1.0/order/cart/{cartId}/nutanix`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-nutanix

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nutanix" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/nutanix",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/nutanix", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about the options of a Nutanix

`GET /1.0/order/cart/{cartId}/nutanix/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-nutanix-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Nutanix offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nutanix/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/nutanix/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/nutanix/options");

print_r($result);
?>
```

## Post a new Nutanix option in your cart

`POST /1.0/order/cart/{cartId}/nutanix/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-nutanix-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/nutanix/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/nutanix/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/nutanix/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Office 365 licenses

`GET /1.0/order/cart/{cartId}/office365`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-office365

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/office365")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/office365");

print_r($result);
?>
```

## Post a new Office 365 item in your cart

`POST /1.0/order/cart/{cartId}/office365`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-office365

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/office365",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/office365", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Office 365 options

`GET /1.0/order/cart/{cartId}/office365/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-office365-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Office 365 main offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/office365/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/office365/options");

print_r($result);
?>
```

## Post a new Office 365 option in your cart

`POST /1.0/order/cart/{cartId}/office365/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-office365-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/office365/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/office365/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Office 365 Prepaid licenses

`GET /1.0/order/cart/{cartId}/office365Prepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-office365prepaid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365Prepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/office365Prepaid")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/office365Prepaid");

print_r($result);
?>
```

## Post a new Office 365 Prepaid item in your cart

`POST /1.0/order/cart/{cartId}/office365Prepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-office365prepaid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365Prepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/office365Prepaid",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/office365Prepaid", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Office 365 Prepaid options

`GET /1.0/order/cart/{cartId}/office365Prepaid/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-office365prepaid-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Office 365 Prepaid main offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365Prepaid/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/office365Prepaid/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/office365Prepaid/options");

print_r($result);
?>
```

## Post a new Office 365 Prepaid option in your cart

`POST /1.0/order/cart/{cartId}/office365Prepaid/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-office365prepaid-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/office365Prepaid/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/office365Prepaid/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/office365Prepaid/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a officePrepaid

`GET /1.0/order/cart/{cartId}/officePrepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-officeprepaid

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/officePrepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/officePrepaid")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/officePrepaid");

print_r($result);
?>
```

## Post a new officePrepaid item in your cart

`POST /1.0/order/cart/{cartId}/officePrepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-officeprepaid

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/officePrepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/officePrepaid",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/officePrepaid", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about officePrepaid options

`GET /1.0/order/cart/{cartId}/officePrepaid/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-officeprepaid-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a officePrepaid offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/officePrepaid/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/officePrepaid/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/officePrepaid/options");

print_r($result);
?>
```

## Post a new officePrepaid option in your cart

`POST /1.0/order/cart/{cartId}/officePrepaid/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-officeprepaid-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/officePrepaid/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/officePrepaid/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/officePrepaid/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get all OVHcloud KMS offers available

`GET /1.0/order/cart/{cartId}/okms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-okms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/okms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/okms")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/okms");

print_r($result);
?>
```

## Add an OVHcloud KMS offer in your cart

`POST /1.0/order/cart/{cartId}/okms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-okms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/okms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/okms",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/okms", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about OverTheBox offers

`GET /1.0/order/cart/{cartId}/otb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-otb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/otb")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/otb");

print_r($result);
?>
```

## Post a new OverTheBox item in your cart

`POST /1.0/order/cart/{cartId}/otb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-otb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/otb",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/otb", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about OverTheBox options

`GET /1.0/order/cart/{cartId}/otb/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-otb-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the OverTheBox you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otb/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/otb/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/otb/options");

print_r($result);
?>
```

## Post a new OverTheBox option in your cart

`POST /1.0/order/cart/{cartId}/otb/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-otb-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otb/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/otb/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/otb/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about OverTheBox offers

`GET /1.0/order/cart/{cartId}/otbReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-otbreseller

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otbReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/otbReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/otbReseller");

print_r($result);
?>
```

## Post a new OverTheBox item in your cart

`POST /1.0/order/cart/{cartId}/otbReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-otbreseller

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otbReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/otbReseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/otbReseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about OverTheBox options

`GET /1.0/order/cart/{cartId}/otbReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-otbreseller-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the OverTheBox you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otbReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/otbReseller/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/otbReseller/options");

print_r($result);
?>
```

## Post a new OverTheBox option in your cart

`POST /1.0/order/cart/{cartId}/otbReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-otbreseller-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/otbReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/otbReseller/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/otbReseller/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about OVHcloud Connect offers

`GET /1.0/order/cart/{cartId}/ovhCloudConnect`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-ovhcloudconnect

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ovhCloudConnect" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/ovhCloudConnect")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/ovhCloudConnect");

print_r($result);
?>
```

## Post a new OVHcloud Connect item in your cart

`POST /1.0/order/cart/{cartId}/ovhCloudConnect`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-ovhcloudconnect

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/ovhCloudConnect" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/ovhCloudConnect",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/ovhCloudConnect", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about PaaS Monitoring offers

`GET /1.0/order/cart/{cartId}/paasmon`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-paasmon

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/paasmon" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/paasmon")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/paasmon");

print_r($result);
?>
```

## Post a new PaaS Monitoring item in your cart

`POST /1.0/order/cart/{cartId}/paasmon`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-paasmon

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/paasmon" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/paasmon",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/paasmon", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a packs professional services

`GET /1.0/order/cart/{cartId}/packsProfessionalServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-packsprofessionalservices

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/packsProfessionalServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/packsProfessionalServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/packsProfessionalServices");

print_r($result);
?>
```

## Post a new packs professional services item in your cart

`POST /1.0/order/cart/{cartId}/packsProfessionalServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-packsprofessionalservices

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/packsProfessionalServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/packsProfessionalServices",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/packsProfessionalServices", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about packs professional services options

`GET /1.0/order/cart/{cartId}/packsProfessionalServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-packsprofessionalservices-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a packs professional services offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/packsProfessionalServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/packsProfessionalServices/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/packsProfessionalServices/options");

print_r($result);
?>
```

## Post a new packs professional services option in your cart

`POST /1.0/order/cart/{cartId}/packsProfessionalServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-packsprofessionalservices-options

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/packsProfessionalServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/packsProfessionalServices/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/packsProfessionalServices/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about power hosting offer

`GET /1.0/order/cart/{cartId}/powerHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-powerhosting

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/powerHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/powerHosting")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/powerHosting");

print_r($result);
?>
```

## Post a new power hosting item in your cart

`POST /1.0/order/cart/{cartId}/powerHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-powerhosting

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/powerHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/powerHosting",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/powerHosting", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Hosted Private Cloud offers

`GET /1.0/order/cart/{cartId}/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloud");

print_r($result);
?>
```

## Post a new Hosted Private Cloud item in your cart

`POST /1.0/order/cart/{cartId}/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloud",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloud", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Hosted Private Cloud options

`GET /1.0/order/cart/{cartId}/privateCloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloud-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Hosted Private Cloud you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloud/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloud/options");

print_r($result);
?>
```

## Post a new Hosted Private Cloud option in your cart

`POST /1.0/order/cart/{cartId}/privateCloud/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloud-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloud/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloud/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloud/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud CDI offers

`GET /1.0/order/cart/{cartId}/privateCloudCDI`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudcdi

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudCDI" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudCDI")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudCDI");

print_r($result);
?>
```

## Post a new Private Cloud CDI item in your cart

`POST /1.0/order/cart/{cartId}/privateCloudCDI`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudcdi

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudCDI" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloudCDI",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudCDI", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud CDI options

`GET /1.0/order/cart/{cartId}/privateCloudCDI/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudcdi-options

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Private Cloud CDI you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudCDI/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudCDI/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudCDI/options");

print_r($result);
?>
```

## Post a new Private Cloud CDI option in your cart

`POST /1.0/order/cart/{cartId}/privateCloudCDI/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudcdi-options

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudCDI/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloudCDI/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudCDI/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud Dedicated Cloud offers

`GET /1.0/order/cart/{cartId}/privateCloudDC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privateclouddc

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudDC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudDC")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudDC");

print_r($result);
?>
```

## Post a new Private Cloud Dedicated Cloud item in your cart

`POST /1.0/order/cart/{cartId}/privateCloudDC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privateclouddc

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudDC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloudDC",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudDC", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud Dedicated Cloud options

`GET /1.0/order/cart/{cartId}/privateCloudDC/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privateclouddc-options

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Private Cloud Dedicated Cloud you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudDC/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudDC/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudDC/options");

print_r($result);
?>
```

## Post a new Private Cloud Dedicated Cloud option in your cart

`POST /1.0/order/cart/{cartId}/privateCloudDC/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privateclouddc-options

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudDC/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloudDC/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudDC/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Hosted Private Cloud offers

`GET /1.0/order/cart/{cartId}/privateCloudEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudEnterprise");

print_r($result);
?>
```

## Post a new Hosted Private Cloud item in your cart

`POST /1.0/order/cart/{cartId}/privateCloudEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloudEnterprise",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudEnterprise", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Hosted Private Cloud options

`GET /1.0/order/cart/{cartId}/privateCloudEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudenterprise-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Hosted Private Cloud you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudEnterprise/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudEnterprise/options");

print_r($result);
?>
```

## Post a new Hosted Private Cloud option in your cart

`POST /1.0/order/cart/{cartId}/privateCloudEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudenterprise-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloudEnterprise/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudEnterprise/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud Reseller offers

`GET /1.0/order/cart/{cartId}/privateCloudReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudReseller");

print_r($result);
?>
```

## Post a new Private Cloud Reseller item in your cart

`POST /1.0/order/cart/{cartId}/privateCloudReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloudReseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudReseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud Reseller options

`GET /1.0/order/cart/{cartId}/privateCloudReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudreseller-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Private Cloud Reseller you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudReseller/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudReseller/options");

print_r($result);
?>
```

## Post a new Private Cloud Reseller option in your cart

`POST /1.0/order/cart/{cartId}/privateCloudReseller/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudreseller-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudReseller/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloudReseller/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudReseller/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud Reseller Enterprise offers

`GET /1.0/order/cart/{cartId}/privateCloudResellerEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudresellerenterprise

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudResellerEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudResellerEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudResellerEnterprise");

print_r($result);
?>
```

## Post a new Private Cloud Reseller Enterprise item in your cart

`POST /1.0/order/cart/{cartId}/privateCloudResellerEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudresellerenterprise

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudResellerEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloudResellerEnterprise",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudResellerEnterprise", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud Reseller Enterprise options

`GET /1.0/order/cart/{cartId}/privateCloudResellerEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudresellerenterprise-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Private Cloud Reseller Enterprise you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudResellerEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudResellerEnterprise/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudResellerEnterprise/options");

print_r($result);
?>
```

## Post a new Private Cloud Reseller Enterprise option in your cart

`POST /1.0/order/cart/{cartId}/privateCloudResellerEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudresellerenterprise-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudResellerEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloudResellerEnterprise/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudResellerEnterprise/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud SDDC offers

`GET /1.0/order/cart/{cartId}/privateCloudSDDC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudsddc

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudSDDC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudSDDC")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudSDDC");

print_r($result);
?>
```

## Post a new Private Cloud SDDC item in your cart

`POST /1.0/order/cart/{cartId}/privateCloudSDDC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudsddc

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudSDDC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateCloudSDDC",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudSDDC", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Private Cloud SDDC options

`GET /1.0/order/cart/{cartId}/privateCloudSDDC/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatecloudsddc-options

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Private Cloud SDDC you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudSDDC/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateCloudSDDC/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateCloudSDDC/options");

print_r($result);
?>
```

## Post a new Private Cloud SDDC option in your cart

`POST /1.0/order/cart/{cartId}/privateCloudSDDC/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatecloudsddc-options

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/cart/{cartId}/privateCloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateCloudSDDC/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/privateCloudSDDC/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/privateCloudSDDC/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get all privateSQL offers available

`GET /1.0/order/cart/{cartId}/privateSQL`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-privatesql

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateSQL" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/privateSQL")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/privateSQL");

print_r($result);
?>
```

## Add a privateSQL in your cart

`POST /1.0/order/cart/{cartId}/privateSQL`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-privatesql

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/privateSQL" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/privateSQL",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/privateSQL", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Reseller offers

`GET /1.0/order/cart/{cartId}/reseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-reseller

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/reseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/reseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/reseller");

print_r($result);
?>
```

## Post a new Reseller offer item in your cart

`POST /1.0/order/cart/{cartId}/reseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-reseller

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/reseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/reseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/reseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Sharepoint offers

`GET /1.0/order/cart/{cartId}/sharepoint`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sharepoint

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sharepoint" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sharepoint")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sharepoint");

print_r($result);
?>
```

## Post a new Sharepoint offer item in your cart

`POST /1.0/order/cart/{cartId}/sharepoint`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sharepoint

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sharepoint" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/sharepoint",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/sharepoint", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Sharepoint options

`GET /1.0/order/cart/{cartId}/sharepoint/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sharepoint-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a Sharepoint main offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sharepoint/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sharepoint/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sharepoint/options");

print_r($result);
?>
```

## Post a new Sharepoint option in your cart

`POST /1.0/order/cart/{cartId}/sharepoint/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sharepoint-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sharepoint/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/sharepoint/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/sharepoint/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SMS offers

`GET /1.0/order/cart/{cartId}/sms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sms")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sms");

print_r($result);
?>
```

## Post a new SMS item in your cart

`POST /1.0/order/cart/{cartId}/sms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/sms",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/sms", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a SNC Cloud Platform

`GET /1.0/order/cart/{cartId}/sncCloudPlatform`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-snccloudplatform

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncCloudPlatform" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sncCloudPlatform")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sncCloudPlatform");

print_r($result);
?>
```

## Post a new SNC Cloud Platform item in your cart

`POST /1.0/order/cart/{cartId}/sncCloudPlatform`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-snccloudplatform

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncCloudPlatform" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/sncCloudPlatform",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/sncCloudPlatform", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SNC Cloud Platform options

`GET /1.0/order/cart/{cartId}/sncCloudPlatform/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-snccloudplatform-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a SNc Cloud Platform offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncCloudPlatform/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sncCloudPlatform/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sncCloudPlatform/options");

print_r($result);
?>
```

## Post a new SNC Cloud Platform option in your cart

`POST /1.0/order/cart/{cartId}/sncCloudPlatform/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-snccloudplatform-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncCloudPlatform/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/sncCloudPlatform/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/sncCloudPlatform/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about sncNetworkServices offers

`GET /1.0/order/cart/{cartId}/sncNetworkServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sncnetworkservices

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncNetworkServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sncNetworkServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sncNetworkServices");

print_r($result);
?>
```

## Post a new sncNetworkServices item in your cart

`POST /1.0/order/cart/{cartId}/sncNetworkServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sncnetworkservices

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncNetworkServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/sncNetworkServices",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/sncNetworkServices", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about sncNetworkServices addons

`GET /1.0/order/cart/{cartId}/sncNetworkServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sncnetworkservices-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a sncNetworkServices offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncNetworkServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sncNetworkServices/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sncNetworkServices/options");

print_r($result);
?>
```

## Post a new sncNetworkServices addon in your cart

`POST /1.0/order/cart/{cartId}/sncNetworkServices/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sncnetworkservices-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sncNetworkServices/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/sncNetworkServices/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/sncNetworkServices/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SSL Comodo offers

`GET /1.0/order/cart/{cartId}/sslComodo`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sslcomodo

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslComodo" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sslComodo")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sslComodo");

print_r($result);
?>
```

## Post a new SSL Comodo item in your cart

`POST /1.0/order/cart/{cartId}/sslComodo`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sslcomodo

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslComodo" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/sslComodo",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/sslComodo", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SSL Comodo options

`GET /1.0/order/cart/{cartId}/sslComodo/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sslcomodo-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the SSL Comodo you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslComodo/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sslComodo/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sslComodo/options");

print_r($result);
?>
```

## Post a new SSL Comodo option in your cart

`POST /1.0/order/cart/{cartId}/sslComodo/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sslcomodo-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslComodo/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/sslComodo/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/sslComodo/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SSL Gateway offers

`GET /1.0/order/cart/{cartId}/sslGateway`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sslgateway

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslGateway" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sslGateway")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sslGateway");

print_r($result);
?>
```

## Post a new SSL Gateway item in your cart

`POST /1.0/order/cart/{cartId}/sslGateway`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sslgateway

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslGateway" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/sslGateway",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/sslGateway", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about SSL Gateway options

`GET /1.0/order/cart/{cartId}/sslGateway/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-sslgateway-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the SSL Gateway you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslGateway/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/sslGateway/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/sslGateway/options");

print_r($result);
?>
```

## Post a new SSL Gateway option in your cart

`POST /1.0/order/cart/{cartId}/sslGateway/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-sslgateway-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/sslGateway/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/sslGateway/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/sslGateway/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get a summary of your current order

`GET /1.0/order/cart/{cartId}/summary`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-summary

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/summary" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/summary")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/summary");

print_r($result);
?>
```

## Get all support offers available

`GET /1.0/order/cart/{cartId}/support`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-support

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/support" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/support")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/support");

print_r($result);
?>
```

## Add a support offer in your cart

`POST /1.0/order/cart/{cartId}/support`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-support

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/support" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/support",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/support", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VoIP offers

`GET /1.0/order/cart/{cartId}/telephony`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-telephony

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/telephony" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/telephony")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/telephony");

print_r($result);
?>
```

## Post a new VoIP item in your cart

`POST /1.0/order/cart/{cartId}/telephony`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-telephony

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/telephony" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/telephony",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/telephony", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VoIP options

`GET /1.0/order/cart/{cartId}/telephony/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-telephony-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the VoIP you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/telephony/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/telephony/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/telephony/options");

print_r($result);
?>
```

## Post a new VoIP option in your cart

`POST /1.0/order/cart/{cartId}/telephony/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-telephony-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/telephony/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/telephony/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/telephony/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get all VAC offers available

`GET /1.0/order/cart/{cartId}/vac`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vac

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vac" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vac")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vac");

print_r($result);
?>
```

## Add a VAC offer in your cart

`POST /1.0/order/cart/{cartId}/vac`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vac

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vac" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vac",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vac", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VcdaMigration offers

`GET /1.0/order/cart/{cartId}/vcdaMigration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vcdamigration

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vcdaMigration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vcdaMigration")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vcdaMigration");

print_r($result);
?>
```

## Post a new VcdaMigration item in your cart

`POST /1.0/order/cart/{cartId}/vcdaMigration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vcdamigration

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vcdaMigration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vcdaMigration",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vcdaMigration", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VcdaMigration offers

`GET /1.0/order/cart/{cartId}/vcdaMigration/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vcdamigration-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the VcdaMigration offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vcdaMigration/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vcdaMigration/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vcdaMigration/options");

print_r($result);
?>
```

## Post a new VcdaMigration item in your cart

`POST /1.0/order/cart/{cartId}/vcdaMigration/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vcdamigration-options

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vcdaMigration/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/vcdaMigration/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/vcdaMigration/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Horizon View offers

`GET /1.0/order/cart/{cartId}/vdi`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vdi

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vdi" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vdi")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vdi");

print_r($result);
?>
```

## Post a new Horizon View item in your cart

`POST /1.0/order/cart/{cartId}/vdi`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vdi

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vdi" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vdi",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vdi", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Horizon View options

`GET /1.0/order/cart/{cartId}/vdi/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vdi-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Horizon View you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vdi/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vdi/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vdi/options");

print_r($result);
?>
```

## Post a new Horizon View option in your cart

`POST /1.0/order/cart/{cartId}/vdi/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vdi-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vdi/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/vdi/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/vdi/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Veeam Enterprise offers

`GET /1.0/order/cart/{cartId}/veeamEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-veeamenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/veeamEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/veeamEnterprise");

print_r($result);
?>
```

## Post a new Veeam Enterprise item in your cart

`POST /1.0/order/cart/{cartId}/veeamEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-veeamenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/veeamEnterprise",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/veeamEnterprise", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Veeam Enterprise options

`GET /1.0/order/cart/{cartId}/veeamEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-veeamenterprise-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Veeam Enterprise you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/veeamEnterprise/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/veeamEnterprise/options");

print_r($result);
?>
```

## Post a new Veeam Enterprise option in your cart

`POST /1.0/order/cart/{cartId}/veeamEnterprise/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-veeamenterprise-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamEnterprise/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/veeamEnterprise/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/veeamEnterprise/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Veeam Cloud Connect offers

`GET /1.0/order/cart/{cartId}/veeamcc`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-veeamcc

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamcc" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/veeamcc")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/veeamcc");

print_r($result);
?>
```

## Post a new Veeam Cloud Connect item in your cart

`POST /1.0/order/cart/{cartId}/veeamcc`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-veeamcc

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamcc" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/veeamcc",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/veeamcc", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Veeam Cloud Connect options

`GET /1.0/order/cart/{cartId}/veeamcc/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-veeamcc-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Veeam Cloud Connect you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamcc/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/veeamcc/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/veeamcc/options");

print_r($result);
?>
```

## Post a new Veeam Cloud Connect option in your cart

`POST /1.0/order/cart/{cartId}/veeamcc/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-veeamcc-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/veeamcc/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/veeamcc/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/veeamcc/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about a video-center

`GET /1.0/order/cart/{cartId}/videocenter`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-videocenter

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/videocenter" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/videocenter")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/videocenter");

print_r($result);
?>
```

## Post a new video-center item in your cart

`POST /1.0/order/cart/{cartId}/videocenter`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-videocenter

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/videocenter" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/videocenter",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/videocenter", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about video-center options

`GET /1.0/order/cart/{cartId}/videocenter/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-videocenter-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a video-center offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/videocenter/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/videocenter/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/videocenter/options");

print_r($result);
?>
```

## Post a new video-center option in your cart

`POST /1.0/order/cart/{cartId}/videocenter/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-videocenter-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/videocenter/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/videocenter/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/videocenter/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VMware Cloud Director offers

`GET /1.0/order/cart/{cartId}/vmwareCloudDirector`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vmwareclouddirector

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirector" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vmwareCloudDirector")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vmwareCloudDirector");

print_r($result);
?>
```

## Post a new VMware Cloud Director item in your cart

`POST /1.0/order/cart/{cartId}/vmwareCloudDirector`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vmwareclouddirector

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirector" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vmwareCloudDirector",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vmwareCloudDirector", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VMware Cloud Director offers

`GET /1.0/order/cart/{cartId}/vmwareCloudDirector/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vmwareclouddirector-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the VMware Cloud Director you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirector/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vmwareCloudDirector/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vmwareCloudDirector/options");

print_r($result);
?>
```

## Post a new VMware Cloud Director item in your cart

`POST /1.0/order/cart/{cartId}/vmwareCloudDirector/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vmwareclouddirector-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirector/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/vmwareCloudDirector/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/vmwareCloudDirector/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Veeam Managed Backup Service for VMware Cloud Director offers

`GET /1.0/order/cart/{cartId}/vmwareCloudDirectorBackup`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vmwareclouddirectorbackup

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirectorBackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vmwareCloudDirectorBackup")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vmwareCloudDirectorBackup");

print_r($result);
?>
```

## Post a new Veeam Managed Backup Service for VMware Cloud Director item in your cart

`POST /1.0/order/cart/{cartId}/vmwareCloudDirectorBackup`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vmwareclouddirectorbackup

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirectorBackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vmwareCloudDirectorBackup",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vmwareCloudDirectorBackup", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Veeam Managed Backup Service for VMware Cloud Director offers

`GET /1.0/order/cart/{cartId}/vmwareCloudDirectorBackup/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vmwareclouddirectorbackup-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the Veeam Managed Backup Service for VMware Cloud Director offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirectorBackup/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vmwareCloudDirectorBackup/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vmwareCloudDirectorBackup/options");

print_r($result);
?>
```

## Post a new Veeam Managed Backup Service for VMware Cloud Director item in your cart

`POST /1.0/order/cart/{cartId}/vmwareCloudDirectorBackup/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vmwareclouddirectorbackup-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vmwareCloudDirectorBackup/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/vmwareCloudDirectorBackup/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/vmwareCloudDirectorBackup/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VPS offers

`GET /1.0/order/cart/{cartId}/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vps

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vps");

print_r($result);
?>
```

## Post a new VPS item in your cart

`POST /1.0/order/cart/{cartId}/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vps

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vps",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vps", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about VPS options

`GET /1.0/order/cart/{cartId}/vps/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vps-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the VPS you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vps/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vps/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vps/options");

print_r($result);
?>
```

## Post a new VPS option in your cart

`POST /1.0/order/cart/{cartId}/vps/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vps-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vps/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/vps/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/vps/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about vRack offers

`GET /1.0/order/cart/{cartId}/vrack`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vrack

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrack" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vrack")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vrack");

print_r($result);
?>
```

## Post a new vRack item in your cart

`POST /1.0/order/cart/{cartId}/vrack`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vrack

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrack" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vrack",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vrack", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about vRack options

`GET /1.0/order/cart/{cartId}/vrack/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vrack-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the vRack you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrack/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vrack/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vrack/options");

print_r($result);
?>
```

## Post a new vRack option in your cart

`POST /1.0/order/cart/{cartId}/vrack/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vrack-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrack/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/vrack/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/vrack/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about vRack offers

`GET /1.0/order/cart/{cartId}/vrackReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vrackreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrackReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vrackReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vrackReseller");

print_r($result);
?>
```

## Post a new vRack item in your cart

`POST /1.0/order/cart/{cartId}/vrackReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vrackreseller

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrackReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vrackReseller",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vrackReseller", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about vRack Services offers

`GET /1.0/order/cart/{cartId}/vrackServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-vrackservices

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrackServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/vrackServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/vrackServices");

print_r($result);
?>
```

## Post a new vRack Services item in your cart

`POST /1.0/order/cart/{cartId}/vrackServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-vrackservices

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/vrackServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/vrackServices",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/vrackServices", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about webHosting offers

`GET /1.0/order/cart/{cartId}/webHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-webhosting

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/webHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/webHosting")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/webHosting");

print_r($result);
?>
```

## Post a new webHosting item in your cart

`POST /1.0/order/cart/{cartId}/webHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-webhosting

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/webHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/webHosting",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/webHosting", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about webHosting options

`GET /1.0/order/cart/{cartId}/webHosting/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-webhosting-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the webHosting you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/webHosting/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/webHosting/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/webHosting/options");

print_r($result);
?>
```

## Post a new webHosting option in your cart

`POST /1.0/order/cart/{cartId}/webHosting/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-webhosting-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/webHosting/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/webHosting/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/webHosting/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about xdsl offers

`GET /1.0/order/cart/{cartId}/xdsl`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-xdsl

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/xdsl" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/xdsl")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/xdsl");

print_r($result);
?>
```

## Post a new xdsl item in your cart

`POST /1.0/order/cart/{cartId}/xdsl`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-xdsl

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/xdsl" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/xdsl",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/xdsl", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about xdsl options

`GET /1.0/order/cart/{cartId}/xdsl/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-xdsl-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of the xdsl you want to consult options |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/xdsl/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/xdsl/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/xdsl/options");

print_r($result);
?>
```

## Post a new xdsl option in your cart

`POST /1.0/order/cart/{cartId}/xdsl/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-xdsl-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/xdsl/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/xdsl/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/xdsl/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about zimbra offers

`GET /1.0/order/cart/{cartId}/zimbra`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-zimbra

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/zimbra" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/zimbra")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/zimbra");

print_r($result);
?>
```

## Post a new zimbra item in your cart

`POST /1.0/order/cart/{cartId}/zimbra`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-zimbra

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericProductCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/zimbra" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericProductCreation
result = client.post("/order/cart/{cartId}/zimbra",
	duration = None, # Duration selected for the purchase of the product (type: string)
	planCode = None, # Identifier of the offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericProductCreation
$result = $ovh->post("/order/cart/{cartId}/zimbra", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	planCode => null, // Identifier of the offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## Get information about Zimbra addons

`GET /1.0/order/cart/{cartId}/zimbra/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cart-cartid-zimbra-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |
| `planCode` | query | string | yes | Identifier of a zimbra offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/zimbra/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cart/{cartId}/zimbra/options")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cart/{cartId}/zimbra/options");

print_r($result);
?>
```

## Post a new zimbra addon in your cart

`POST /1.0/order/cart/{cartId}/zimbra/options`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cart-cartid-zimbra-options

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cartId` | path | string | yes | Cart ID |

### Request body (required)

Type: `order.cart.GenericOptionCreation`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `itemId` | integer | yes | Cart item to be linked |
| `planCode` | string | yes | Identifier of the option offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "duration": "string",
  "itemId": 0,
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cart/{cartId}/zimbra/options" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: order.cart.GenericOptionCreation
result = client.post("/order/cart/{cartId}/zimbra/options",
	duration = None, # Duration selected for the purchase of the product (type: string)
	itemId = None, # Cart item to be linked (type: integer)
	planCode = None, # Identifier of the option offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: integer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: order.cart.GenericOptionCreation
$result = $ovh->post("/order/cart/{cartId}/zimbra/options", array(
	duration => null, // Duration selected for the purchase of the product (type: string)
	itemId => null, // Cart item to be linked (type: integer)
	planCode => null, // Identifier of the option offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: integer)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/backupServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-backupservices

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/backupServices/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/backupServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/backupServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/backupServices");

print_r($result);
?>
```

## Get information about Backup service offers for your service

`GET /1.0/order/cartServiceOption/backupServices/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-backupservices-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/backupServices/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID for your backup services |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/backupServices/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/backupServices/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/backupServices/{serviceName}");

print_r($result);
?>
```

## Post an additional Backup service option in your cart

`POST /1.0/order/cartServiceOption/backupServices/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-backupservices-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/backupServices/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID for your backup services |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Backup service offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/backupServices/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/backupServices/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Backup service offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/backupServices/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Backup service offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/backupServicesAdvanced`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-backupservicesadvanced

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/backupServicesAdvanced/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/backupServicesAdvanced" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/backupServicesAdvanced")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/backupServicesAdvanced");

print_r($result);
?>
```

## Get information about Backup service offers for your VSPC tenant

`GET /1.0/order/cartServiceOption/backupServicesAdvanced/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-backupservicesadvanced-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/backupServicesAdvanced/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your VSPC tenant |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/backupServicesAdvanced/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/backupServicesAdvanced/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/backupServicesAdvanced/{serviceName}");

print_r($result);
?>
```

## Post an additional Backup service option on your VSPC tenant in your cart

`POST /1.0/order/cartServiceOption/backupServicesAdvanced/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-backupservicesadvanced-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/backupServicesAdvanced/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your VSPC tenant |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Backup service offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/backupServicesAdvanced/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/backupServicesAdvanced/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Backup service offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/backupServicesAdvanced/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Backup service offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/baremetalServers`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-baremetalservers

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/baremetalServers/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/baremetalServers" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/baremetalServers")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/baremetalServers");

print_r($result);
?>
```

## Get informations about additional baremetal servers offer for your service

`GET /1.0/order/cartServiceOption/baremetalServers/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-baremetalservers-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/baremetalServers/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of baremetal servers service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/baremetalServers/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/baremetalServers/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/baremetalServers/{serviceName}");

print_r($result);
?>
```

## Post an additional baremetal servers option in your cart

`POST /1.0/order/cartServiceOption/baremetalServers/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-baremetalservers-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/baremetalServers/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of baremetal servers service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional baremetal servers offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/baremetalServers/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/baremetalServers/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional baremetal servers offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/baremetalServers/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional baremetal servers offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/cloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-cloud

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/cloud/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/cloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/cloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/cloud");

print_r($result);
?>
```

## Get informations about additional Cloud offer for your service

`GET /1.0/order/cartServiceOption/cloud/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-cloud-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/cloud/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Cloud Project |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/cloud/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/cloud/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/cloud/{serviceName}");

print_r($result);
?>
```

## Post an additional Cloud option in your cart

`POST /1.0/order/cartServiceOption/cloud/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-cloud-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/cloud/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Cloud Project |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Cloud offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/cloud/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/cloud/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Cloud offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/cloud/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Cloud offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/dedicated`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-dedicated

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/dedicated/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/dedicated" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/dedicated")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/dedicated");

print_r($result);
?>
```

## Get informations about additional dedicated offer for your service

`GET /1.0/order/cartServiceOption/dedicated/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-dedicated-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/dedicated/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Dedicated service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/dedicated/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/dedicated/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/dedicated/{serviceName}");

print_r($result);
?>
```

## Post an additional dedicated option in your cart

`POST /1.0/order/cartServiceOption/dedicated/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-dedicated-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/dedicated/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Dedicated service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional dedicated offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/dedicated/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/dedicated/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional dedicated offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/dedicated/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional dedicated offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/dns`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-dns

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/dns/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/dns" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/dns")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/dns");

print_r($result);
?>
```

## Get informations about additional Domain offer for your service

`GET /1.0/order/cartServiceOption/dns/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-dns-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/dns/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of DNS service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/dns/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/dns/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/dns/{serviceName}");

print_r($result);
?>
```

## Post an additional Domain option in your cart

`POST /1.0/order/cartServiceOption/dns/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-dns-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/dns/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of DNS service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Domain offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/dns/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/dns/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Domain offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/dns/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Domain offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/domain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-domain

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/domain/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `whoisOwner` | query | string |  | Filter the value of whoisOwner property (=) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/domain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/domain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/domain");

print_r($result);
?>
```

## Get informations about additional Domain offer for your service

`GET /1.0/order/cartServiceOption/domain/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-domain-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/domain/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Domain service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/domain/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/domain/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/domain/{serviceName}");

print_r($result);
?>
```

## Post an additional Domain option in your cart

`POST /1.0/order/cartServiceOption/domain/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-domain-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/domain/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Domain service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Domain offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/domain/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/domain/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Domain offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/domain/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Domain offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/emailpro`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-emailpro

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/emailpro/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/emailpro" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/emailpro")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/emailpro");

print_r($result);
?>
```

## Get informations about additional EmailPro offer for your service

`GET /1.0/order/cartServiceOption/emailpro/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-emailpro-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/emailpro/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of EmailPro service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/emailpro/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/emailpro/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/emailpro/{serviceName}");

print_r($result);
?>
```

## Post an additional EmailPro option in your cart

`POST /1.0/order/cartServiceOption/emailpro/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-emailpro-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/emailpro/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of EmailPro service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional EmailPro offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/emailpro/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/emailpro/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional EmailPro offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/emailpro/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional EmailPro offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/ipLoadbalancing`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-iploadbalancing

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/ipLoadbalancing/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/ipLoadbalancing" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/ipLoadbalancing")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/ipLoadbalancing");

print_r($result);
?>
```

## Get informations about additional IP Load-Balancing offer for your service

`GET /1.0/order/cartServiceOption/ipLoadbalancing/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-iploadbalancing-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/ipLoadbalancing/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of IP Load-Balancing service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/ipLoadbalancing/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/ipLoadbalancing/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/ipLoadbalancing/{serviceName}");

print_r($result);
?>
```

## Post an additional IP Load-Balancing option in your cart

`POST /1.0/order/cartServiceOption/ipLoadbalancing/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-iploadbalancing-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/ipLoadbalancing/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of IP Load-Balancing service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional IP Load-Balancing offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/ipLoadbalancing/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/ipLoadbalancing/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional IP Load-Balancing offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/ipLoadbalancing/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional IP Load-Balancing offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/licenseHycu`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-licensehycu

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/licenseHycu/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/licenseHycu" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/licenseHycu")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/licenseHycu");

print_r($result);
?>
```

## Get information about addons offer for your license

`GET /1.0/order/cartServiceOption/licenseHycu/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-licensehycu-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/licenseHycu/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of hycu service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/licenseHycu/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/licenseHycu/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/licenseHycu/{serviceName}");

print_r($result);
?>
```

## Post an addon of license in your cart

`POST /1.0/order/cartServiceOption/licenseHycu/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-licensehycu-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/licenseHycu/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of hycu service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the license addon offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/licenseHycu/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/licenseHycu/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the license addon offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/licenseHycu/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the license addon offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/logs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-logs

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/logs/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/logs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/logs")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/logs");

print_r($result);
?>
```

## Get informations about additional Logs offer for your service

`GET /1.0/order/cartServiceOption/logs/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-logs-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/logs/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Logs service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/logs/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/logs/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/logs/{serviceName}");

print_r($result);
?>
```

## Post an additional Logs option in your cart

`POST /1.0/order/cartServiceOption/logs/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-logs-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/logs/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Logs service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Logs offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/logs/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/logs/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Logs offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/logs/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Logs offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/microsoft`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-microsoft

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/microsoft/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/microsoft" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/microsoft")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/microsoft");

print_r($result);
?>
```

## Get informations about additional Microsoft offer for your service

`GET /1.0/order/cartServiceOption/microsoft/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-microsoft-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/microsoft/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Microsoft service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/microsoft/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/microsoft/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/microsoft/{serviceName}");

print_r($result);
?>
```

## Post an additional Microsoft option in your cart

`POST /1.0/order/cartServiceOption/microsoft/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-microsoft-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/microsoft/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Microsoft service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Microsoft offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/microsoft/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/microsoft/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Microsoft offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/microsoft/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Microsoft offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/microsoftExchange`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-microsoftexchange

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/microsoftExchange/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/microsoftExchange" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/microsoftExchange")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/microsoftExchange");

print_r($result);
?>
```

## Get informations about additional Microsoft offer for your service

`GET /1.0/order/cartServiceOption/microsoftExchange/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-microsoftexchange-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/microsoftExchange/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Microsoft Exchange service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/microsoftExchange/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/microsoftExchange/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/microsoftExchange/{serviceName}");

print_r($result);
?>
```

## Post an additional Microsoft option in your cart

`POST /1.0/order/cartServiceOption/microsoftExchange/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-microsoftexchange-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/microsoftExchange/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Microsoft Exchange service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Microsoft offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/microsoftExchange/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/microsoftExchange/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Microsoft offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/microsoftExchange/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Microsoft offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/nutanix`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-nutanix

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/nutanix/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/nutanix" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/nutanix")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/nutanix");

print_r($result);
?>
```

## Get informations about additional Nutanix offer for your service

`GET /1.0/order/cartServiceOption/nutanix/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-nutanix-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/nutanix/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of nutanix service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/nutanix/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/nutanix/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/nutanix/{serviceName}");

print_r($result);
?>
```

## Post an additional nutanix option in your cart

`POST /1.0/order/cartServiceOption/nutanix/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-nutanix-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/nutanix/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of nutanix service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional nutanix offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/nutanix/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/nutanix/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional nutanix offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/nutanix/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional nutanix offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/office365Prepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-office365prepaid

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/office365Prepaid/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/office365Prepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/office365Prepaid")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/office365Prepaid");

print_r($result);
?>
```

## Get informations about additional Office offer for your service

`GET /1.0/order/cartServiceOption/office365Prepaid/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-office365prepaid-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/office365Prepaid/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Office service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/office365Prepaid/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/office365Prepaid/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/office365Prepaid/{serviceName}");

print_r($result);
?>
```

## Post an additional Office option in your cart

`POST /1.0/order/cartServiceOption/office365Prepaid/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-office365prepaid-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/office365Prepaid/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Office service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Office offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/office365Prepaid/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/office365Prepaid/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Office offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/office365Prepaid/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Office offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/officePrepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-officeprepaid

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/officePrepaid/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/officePrepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/officePrepaid")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/officePrepaid");

print_r($result);
?>
```

## Get informations about additional officePrepaid offer for your service

`GET /1.0/order/cartServiceOption/officePrepaid/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-officeprepaid-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/officePrepaid/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of officePrepaid service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/officePrepaid/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/officePrepaid/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/officePrepaid/{serviceName}");

print_r($result);
?>
```

## Post an additional officePrepaid option in your cart

`POST /1.0/order/cartServiceOption/officePrepaid/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-officeprepaid-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/officePrepaid/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of officePrepaid service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional productName offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/officePrepaid/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/officePrepaid/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional productName offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/officePrepaid/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional productName offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloud

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloud/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloud");

print_r($result);
?>
```

## Get informations about additional Dedicated Cloud offer for your service

`GET /1.0/order/cartServiceOption/privateCloud/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloud-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloud/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloud/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloud/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloud/{serviceName}");

print_r($result);
?>
```

## Post an additional Dedicated Cloud option in your cart

`POST /1.0/order/cartServiceOption/privateCloud/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-privatecloud-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloud/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Dedicated Cloud offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloud/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/privateCloud/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Dedicated Cloud offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/privateCloud/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Dedicated Cloud offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/privateCloudEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloudenterprise

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudEnterprise/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloudEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloudEnterprise");

print_r($result);
?>
```

## Get informations about additional Dedicated Cloud offer for your service

`GET /1.0/order/cartServiceOption/privateCloudEnterprise/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloudenterprise-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudEnterprise/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudEnterprise/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloudEnterprise/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloudEnterprise/{serviceName}");

print_r($result);
?>
```

## Post an additional Dedicated Cloud option in your cart

`POST /1.0/order/cartServiceOption/privateCloudEnterprise/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-privatecloudenterprise-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudEnterprise/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Dedicated Cloud offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudEnterprise/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/privateCloudEnterprise/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Dedicated Cloud offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/privateCloudEnterprise/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Dedicated Cloud offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/privateCloudReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloudreseller

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudReseller/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloudReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloudReseller");

print_r($result);
?>
```

## Get informations about additional Dedicated Cloud offer for your service

`GET /1.0/order/cartServiceOption/privateCloudReseller/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloudreseller-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudReseller/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudReseller/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloudReseller/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloudReseller/{serviceName}");

print_r($result);
?>
```

## Post an additional Dedicated Cloud option in your cart

`POST /1.0/order/cartServiceOption/privateCloudReseller/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-privatecloudreseller-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudReseller/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Dedicated Cloud offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudReseller/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/privateCloudReseller/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Dedicated Cloud offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/privateCloudReseller/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Dedicated Cloud offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/privateCloudResellerEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloudresellerenterprise

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudResellerEnterprise/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudResellerEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloudResellerEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloudResellerEnterprise");

print_r($result);
?>
```

## Get informations about additional Dedicated Cloud Enterprise offer for your service

`GET /1.0/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-privatecloudresellerenterprise-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudResellerEnterprise/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}");

print_r($result);
?>
```

## Post an additional Dedicated Cloud Enterprise option in your cart

`POST /1.0/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-privatecloudresellerenterprise-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/privateCloudResellerEnterprise/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Dedicated Cloud enterprise offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Dedicated Cloud enterprise offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/privateCloudResellerEnterprise/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Dedicated Cloud enterprise offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/sharepoint`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sharepoint

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/sharepoint/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sharepoint" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sharepoint")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sharepoint");

print_r($result);
?>
```

## Get informations about additional Sharepoint offer for your service

`GET /1.0/order/cartServiceOption/sharepoint/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sharepoint-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/sharepoint/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Sharepoint service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sharepoint/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sharepoint/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sharepoint/{serviceName}");

print_r($result);
?>
```

## Post an additional Sharepoint option in your cart

`POST /1.0/order/cartServiceOption/sharepoint/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-sharepoint-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/sharepoint/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Sharepoint service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Sharepoint offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sharepoint/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/sharepoint/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Sharepoint offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/sharepoint/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Sharepoint offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/sms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sms

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/sms/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sms")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sms");

print_r($result);
?>
```

## Get information about additional SMS offer for your service

`GET /1.0/order/cartServiceOption/sms/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sms-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/sms/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of sms service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sms/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sms/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sms/{serviceName}");

print_r($result);
?>
```

## Post an additional SMS option in your cart

`POST /1.0/order/cartServiceOption/sms/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-sms-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/sms/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of sms service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional SMS offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sms/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/sms/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional SMS offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/sms/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional SMS offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/sncNetworkServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sncnetworkservices

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/sncNetworkServices/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sncNetworkServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sncNetworkServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sncNetworkServices");

print_r($result);
?>
```

## Get information about additional SNC Connectivity Network offer for your service

`GET /1.0/order/cartServiceOption/sncNetworkServices/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sncnetworkservices-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/sncNetworkServices/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your SNC Connectivity Network service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sncNetworkServices/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sncNetworkServices/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sncNetworkServices/{serviceName}");

print_r($result);
?>
```

## Post an additional SNC Connectivity Network option in your cart

`POST /1.0/order/cartServiceOption/sncNetworkServices/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-sncnetworkservices-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/sncNetworkServices/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your SNC Connectivity Network service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional SNC Connectivity Network offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sncNetworkServices/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/sncNetworkServices/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional SNC Connectivity Network offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/sncNetworkServices/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional SNC Connectivity Network offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/sslGateway`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sslgateway

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/sslGateway/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sslGateway" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sslGateway")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sslGateway");

print_r($result);
?>
```

## Get informations about additional SSL Gateway offer for your service

`GET /1.0/order/cartServiceOption/sslGateway/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-sslgateway-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/sslGateway/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of SSL Gateway service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sslGateway/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/sslGateway/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/sslGateway/{serviceName}");

print_r($result);
?>
```

## Post an additional SSL Gateway option in your cart

`POST /1.0/order/cartServiceOption/sslGateway/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-sslgateway-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/sslGateway/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of SSL Gateway service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional SSL Gateway offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/sslGateway/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/sslGateway/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional SSL Gateway offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/sslGateway/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional SSL Gateway offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vcdaMigration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vcdamigration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vcdaMigration/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vcdaMigration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vcdaMigration")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vcdaMigration");

print_r($result);
?>
```

## Get information about vcda migrtation offers for your service

`GET /1.0/order/cartServiceOption/vcdaMigration/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vcdamigration-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vcdaMigration/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Migration Service for VMware Cloud Director |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vcdaMigration/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vcdaMigration/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vcdaMigration/{serviceName}");

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vdi`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vdi

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vdi/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vdi" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vdi")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vdi");

print_r($result);
?>
```

## Get informations about additional Horizon View offer for your service

`GET /1.0/order/cartServiceOption/vdi/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vdi-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vdi/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Horizon View service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vdi/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vdi/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vdi/{serviceName}");

print_r($result);
?>
```

## Post an additional Horizon View option in your cart

`POST /1.0/order/cartServiceOption/vdi/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-vdi-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vdi/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Horizon View service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Horizon View offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vdi/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/vdi/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Horizon View offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/vdi/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Horizon View offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vmwareCloudDirector`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vmwareclouddirector

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vmwareCloudDirector/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vmwareCloudDirector" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vmwareCloudDirector")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vmwareCloudDirector");

print_r($result);
?>
```

## Get information about additional VMware Cloud Director offer for your service

`GET /1.0/order/cartServiceOption/vmwareCloudDirector/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vmwareclouddirector-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vmwareCloudDirector/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The VMware Cloud Director service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vmwareCloudDirector/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vmwareCloudDirector/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vmwareCloudDirector/{serviceName}");

print_r($result);
?>
```

## Post an additional VMware Cloud Director option in your cart

`POST /1.0/order/cartServiceOption/vmwareCloudDirector/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-vmwareclouddirector-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vmwareCloudDirector/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The VMware Cloud Director service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional VMware Cloud Director offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vmwareCloudDirector/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/vmwareCloudDirector/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional VMware Cloud Director offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/vmwareCloudDirector/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional VMware Cloud Director offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vmwareCloudDirectorBackup`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vmwareclouddirectorbackup

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vmwareCloudDirectorBackup/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vmwareCloudDirectorBackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vmwareCloudDirectorBackup")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vmwareCloudDirectorBackup");

print_r($result);
?>
```

## Get information about Veeam Managed Backup offer for your service

`GET /1.0/order/cartServiceOption/vmwareCloudDirectorBackup/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vmwareclouddirectorbackup-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vmwareCloudDirectorBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Veeam Managed Backup Service for VMware Cloud Director |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vmwareCloudDirectorBackup/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vmwareCloudDirectorBackup/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vmwareCloudDirectorBackup/{serviceName}");

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vps

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/vps/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vps");

print_r($result);
?>
```

## Get informations about additional VPS offer for your service

`GET /1.0/order/cartServiceOption/vps/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vps-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/vps/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your VPS service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vps/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vps/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vps/{serviceName}");

print_r($result);
?>
```

## Post an additional VPS option in your cart

`POST /1.0/order/cartServiceOption/vps/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-vps-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/vps/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your VPS service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional VPS offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vps/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/vps/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional VPS offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/vps/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional VPS offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vrack`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vrack

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vrack/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vrack" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vrack")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vrack");

print_r($result);
?>
```

## Get informations about additional vRack offer for your service

`GET /1.0/order/cartServiceOption/vrack/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vrack-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vrack/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your vRack service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vrack/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vrack/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vrack/{serviceName}");

print_r($result);
?>
```

## Post an additional vRack option in your cart

`POST /1.0/order/cartServiceOption/vrack/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-vrack-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/vrack/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your vRack service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional vRack offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vrack/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/vrack/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional vRack offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/vrack/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional vRack offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/vrackServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vrackservices

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/vrackServices/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vrackServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vrackServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vrackServices");

print_r($result);
?>
```

## Get informations about additional vrackServices offer for your service

`GET /1.0/order/cartServiceOption/vrackServices/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-vrackservices-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/vrackServices/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your vRackServices service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vrackServices/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/vrackServices/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/vrackServices/{serviceName}");

print_r($result);
?>
```

## Add an additional vrackServices option in your cart

`POST /1.0/order/cartServiceOption/vrackServices/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-vrackservices-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:cartServiceOption/vrackServices/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your vRackServices service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional vrackServices offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/vrackServices/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/vrackServices/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional vrackServices offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/vrackServices/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional vrackServices offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cartServiceOption/webHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-webhosting

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/webHosting/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/webHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/webHosting")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/webHosting");

print_r($result);
?>
```

## Get informations about additional Web Hosting offer for your service

`GET /1.0/order/cartServiceOption/webHosting/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cartserviceoption-webhosting-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/webHosting/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Web Hosting service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericOptionDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `exclusive` | boolean |  | Define if options of this family are exclusive with each other |
| `family` | string |  | Option family |
| `mandatory` | boolean |  | Define if an option of this family is mandatory |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "exclusive": true,
    "family": "string",
    "mandatory": true,
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/webHosting/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cartServiceOption/webHosting/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cartServiceOption/webHosting/{serviceName}");

print_r($result);
?>
```

## Post an additional Web Hosting option in your cart

`POST /1.0/order/cartServiceOption/webHosting/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cartserviceoption-webhosting-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cartServiceOption/webHosting/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Web Hosting service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | yes | Cart identifier |
| `duration` | string (duration) | yes | Duration selected for the purchase of the product |
| `planCode` | string | yes | Identifier of the additional Web Hosting offer |
| `pricingMode` | string | yes | Pricing mode selected for the purchase of the product |
| `quantity` | integer | yes | Quantity of product desired |

```json
{
  "cartId": "string",
  "duration": "string",
  "planCode": "string",
  "pricingMode": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.Item | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cartId` | string | read-only | Cart identifier |
| `configurations` | integer[] | read-only | Configuration set for this product |
| `duration` | duration (duration) | read-only | Duration for the service |
| `itemId` | integer | read-only | Current product identifier |
| `offerId` | string | read-only | Offer unique identifier of the product added |
| `options` | integer[] | read-only | Options item ID attached to this item |
| `parentItemId` | integer | read-only | Id of parent item (if item is an option) |
| `prices` | order.cart.Price[] | read-only | Price of the item |
| `prices[].label` | order.cart.PriceLabelEnum | read-only | Label corresponding to a price — one of `DISCOUNT`, `FEE`, `PRICE`, `RENEW`, `TOTAL` |
| `prices[].price` | order.Price | read-only | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `productId` | string | read-only | Type of the product added |
| `settings` | order.cart.DomainSettings | read-only | Domain related settings |
| `settings.domain` | string |  | Domain name requested |

```json
{
  "cartId": "string",
  "configurations": [
    0
  ],
  "duration": {},
  "itemId": 0,
  "offerId": "string",
  "options": [
    0
  ],
  "parentItemId": 0,
  "prices": [
    {
      "label": "DISCOUNT",
      "price": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "productId": "string",
  "settings": {
    "domain": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cartServiceOption/webHosting/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cartServiceOption/webHosting/{serviceName}",
	cartId = None, # Cart identifier (type: string)
	duration = None, # Duration selected for the purchase of the product (type: duration)
	planCode = None, # Identifier of the additional Web Hosting offer (type: string)
	pricingMode = None, # Pricing mode selected for the purchase of the product (type: string)
	quantity = None, # Quantity of product desired (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cartServiceOption/webHosting/{serviceName}", array(
	cartId => null, // Cart identifier (type: string)
	duration => null, // Duration selected for the purchase of the product (type: duration)
	planCode => null, // Identifier of the additional Web Hosting offer (type: string)
	pricingMode => null, // Pricing mode selected for the purchase of the product (type: string)
	quantity => null, // Quantity of product desired (type: long)
));

print_r($result);
?>
```

## Retrieve list of catalog name

`GET /1.0/order/catalog/formatted`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2018-03-26, removed on 2018-05-01.

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted");

print_r($result);
?>
```

## List the servers of the public bare-metal catalog for a subsidiary

`GET /1.0/order/catalog/formatted/baremetalServers`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-baremetalservers

**Status:** Stable production version  
**Authentication:** none (public operation)

Bare-metal dedicated servers of the public catalog for a subsidiary: one product per commercial server (its newest hardware generation by default, `mergeGenerations=false` lists every generation) with the specs of its default configuration, the ranges of its options and one price per datacenter, with hardware, network, price and range filters, sorting and pagination. Text specs and prices follow the website's typography for the subsidiary.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `coresMax` | query | integer |  | Maximum number of CPU cores |
| `coresMin` | query | integer |  | Minimum number of CPU cores |
| `count` | query | integer |  | Number of results per page. Default to 20 |
| `cpuBrands` | query | string[] |  | Filter on CPU brands (e.g. Intel, AMD). Repeat the parameter for multiple values |
| `datacenters` | query | string[] |  | Filter on datacenters where the server is available. Repeat the parameter for multiple values |
| `freqMax` | query | number |  | Maximum CPU frequency, in GHz |
| `freqMin` | query | number |  | Minimum CPU frequency, in GHz |
| `mergeGenerations` | query | boolean |  | Fold the hardware generations of a model into one server, the newest one extended with the datacenters only older generations still serve. Default to true; false lists every generation |
| `offset` | query | integer |  | Offset of the first result returned, used with count for pagination |
| `osAvailable` | query | string[] |  | Filter on available operating systems. Repeat the parameter for multiple values |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | OVHcloud subsidiary targeted — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `planCodes` | query | string |  | Return only the servers with these plan codes, comma-separated (e.g. 25rise01,25adv01), matched case-insensitively |
| `priceMax` | query | number |  | Maximum monthly price, in the subsidiary currency (e.g. 499.99) |
| `priceMin` | query | number |  | Minimum monthly price, in the subsidiary currency (e.g. 99.99) |
| `privateBwMax` | query | integer |  | Maximum private bandwidth, in Mbps |
| `privateBwMin` | query | integer |  | Minimum private bandwidth, in Mbps |
| `publicBwMax` | query | integer |  | Maximum public bandwidth, in Mbps |
| `publicBwMin` | query | integer |  | Minimum public bandwidth, in Mbps |
| `ramMax` | query | integer |  | Maximum RAM size, in GB |
| `ramMin` | query | integer |  | Minimum RAM size, in GB |
| `ranges` | query | string[] |  | Filter on commercial ranges. Repeat the parameter for multiple values |
| `sockets` | query | string[] |  | Filter on the number of CPU sockets. Repeat the parameter for multiple values |
| `sort` | query | string |  | Sort order: price-asc (default), price-desc, name-asc or name-desc. Servers with a promotion always come first |
| `storageMax` | query | number |  | Maximum storage size, in GB |
| `storageMin` | query | number |  | Minimum storage size, in GB |
| `storageRaid` | query | string[] |  | Filter on RAID levels of the default storage configuration. Repeat the parameter for multiple values |
| `storageTypes` | query | string[] |  | Filter on storage types. Repeat the parameter for multiple values |
| `threadsMax` | query | integer |  | Maximum number of CPU threads |
| `threadsMin` | query | integer |  | Minimum number of CPU threads |
| `useCases` | query | string[] |  | Filter on server use cases. Repeat the parameter for multiple values |
| `withGpu` | query | boolean |  | Filter on servers with (true) or without (false) a GPU |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.formatted.baremetalServers.ServerList | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `count` | integer | read-only | Number of servers in this page |
| `display` | order.catalog.formatted.baremetalServers.PriceDisplay | read-only | How the subsidiary's prices are put forward on the website |
| `display.pricePrefix` | string | read-only | 'Starting at' wording (e.g. À partir de, From) |
| `display.taxMode` | order.catalog.formatted.baremetalServers.TaxModeEnum | read-only | Price to put forward: both (price excl. VAT, then the VAT-included one), incl (VAT-included price only) or excl (tax-excluded price only) — one of `both`, `excl`, `incl` |
| `display.unitSeparator` | string | read-only | Separator between an amount and its price unit: a space, or empty where the unit is attached |
| `display.vatWord` | string | read-only | Wording introducing the VAT-included price (e.g. soit, or); empty where none is shown |
| `pagination` | integer[] | read-only | List of the available page numbers |
| `servers` | order.catalog.formatted.baremetalServers.ServerProduct[] | read-only | Servers of this page |
| `servers[].availability` | order.catalog.formatted.baremetalServers.AvailabilityEnum | read-only | Best availability of the server across its datacenters; absent without availability data — one of `available`, `comingSoon`, `unavailable` |
| `servers[].bandwidthMbps` | integer | read-only | Public bandwidth, in Mbps |
| `servers[].catalogOrder` | integer | read-only | Position of the server's plan in the order catalog, used to sort servers of equal price |
| `servers[].catalogRange` | string | read-only | Range code of the server in the order catalog (advance, game, scale, hgr); storage servers keep their range |
| `servers[].cpu` | string | read-only | CPU description, localized |
| `servers[].cpuDetails` | order.catalog.formatted.baremetalServers.CPUDetails | read-only | Structured CPU characteristics |
| `servers[].cpuDetails.boost` | number | read-only | Boost frequency, in GHz |
| `servers[].cpuDetails.brand` | string | read-only | CPU brand (e.g. Intel, AMD) |
| `servers[].cpuDetails.cores` | integer | read-only | Number of cores |
| `servers[].cpuDetails.frequency` | number | read-only | Base frequency, in GHz |
| `servers[].cpuDetails.model` | string | read-only | CPU model |
| `servers[].cpuDetails.number` | integer | read-only | Number of CPUs |
| `servers[].cpuDetails.score` | integer | read-only | CPU benchmark score |
| `servers[].cpuDetails.threads` | integer | read-only | Number of threads |
| `servers[].datacenters` | string[] | read-only | Datacenters where the server is available |
| `servers[].defaultAddons` | order.catalog.formatted.baremetalServers.DefaultAddons | read-only | Addons of the server's default configuration, by family |
| `servers[].defaultAddons.bandwidth` | order.catalog.formatted.baremetalServers.AddonRef | read-only | Default public bandwidth addon |
| `servers[].defaultAddons.memory` | order.catalog.formatted.baremetalServers.AddonRef | read-only | Default memory addon |
| `servers[].defaultAddons.storage` | order.catalog.formatted.baremetalServers.AddonRef | read-only | Default storage addon |
| `servers[].defaultAddons.systemStorage` | order.catalog.formatted.baremetalServers.AddonRef | read-only | Default system storage addon |
| `servers[].defaultAddons.vrack` | order.catalog.formatted.baremetalServers.AddonRef | read-only | Default private bandwidth (vRack) addon |
| `servers[].gpu` | order.catalog.formatted.baremetalServers.GPUDetails | read-only | GPU of the server, when it has one |
| `servers[].gpu.brand` | string | read-only | GPU brand (e.g. NVIDIA) |
| `servers[].gpu.memory` | integer | read-only | GPU memory, in GB |
| `servers[].gpu.model` | string | read-only | GPU model |
| `servers[].gpu.number` | integer | read-only | Number of GPUs |
| `servers[].hasPromotion` | boolean | read-only | Whether a promotion is currently applied to this server |
| `servers[].invoiceName` | string | read-only | Invoice name of the server's plan in the order catalog (e.g. Advance-1 Gen 2) |
| `servers[].lastGeneration` | boolean | read-only | Whether this is the newest hardware generation of the model |
| `servers[].memory` | string | read-only | Memory of the default configuration, localized |
| `servers[].memoryRange` | string | read-only | Memory options available for the server |
| `servers[].name` | string | read-only | Commercial name of the server |
| `servers[].osAvailable` | string[] | read-only | Operating systems available on the server |
| `servers[].planCode` | string | read-only | Plan code of the server in the order catalog |
| `servers[].price` | order.catalog.formatted.baremetalServers.ServerPrice | read-only | Default price of the server |
| `servers[].price.currency` | string | read-only | Currency of the prices |
| `servers[].price.formatted` | string | read-only | Monthly price formatted with the subsidiary currency, excl. tax |
| `servers[].price.formattedSetup` | string | read-only | Setup fee formatted with the subsidiary currency, excl. tax |
| `servers[].price.formattedSetupVat` | string | read-only | Setup fee formatted with the subsidiary currency, incl. tax |
| `servers[].price.formattedVat` | string | read-only | Monthly price formatted with the subsidiary currency, incl. tax |
| `servers[].price.monthly` | integer | read-only | Monthly price in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].price.monthlyVat` | integer | read-only | Monthly price in microcents (1/100 000 000 of a currency unit), incl. tax |
| `servers[].price.planCode` | string | read-only | Plan code the price applies to |
| `servers[].price.setup` | integer | read-only | Setup fee in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].price.setupPromotion` | order.catalog.formatted.baremetalServers.SetupPromotion | read-only | Promotion currently applied to the setup fee |
| `servers[].priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `servers[].priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `servers[].pricesByDatacenter` | object | read-only | Price of the server per datacenter, keyed by datacenter code |
| `servers[].privateBandwidth` | string | read-only | Private (vRack) bandwidth label |
| `servers[].privateBandwidthMbps` | integer | read-only | Private (vRack) bandwidth, in Mbps |
| `servers[].publicBandwidth` | string | read-only | Public bandwidth label |
| `servers[].publicBandwidthRange` | string | read-only | Public bandwidth options available for the server |
| `servers[].ramDetails` | order.catalog.formatted.baremetalServers.RAMDetails | read-only | Structured RAM characteristics |
| `servers[].ramDetails.sizeGB` | integer | read-only | RAM size, in GB |
| `servers[].ramDetails.type` | string | read-only | RAM type (e.g. DDR4 ECC, DDR5 ECC) |
| `servers[].ramType` | string | read-only | RAM type (e.g. DDR4 ECC, DDR5 ECC) |
| `servers[].range` | string | read-only | Commercial range of the server |
| `servers[].releaseYear` | string | read-only | Release year badge of the server; absent when the plan has none |
| `servers[].sockets` | integer | read-only | Number of CPU sockets |
| `servers[].storage` | string | read-only | Storage of the default configuration, localized |
| `servers[].storageDetails` | order.catalog.formatted.baremetalServers.StorageDetails | read-only | Structured storage characteristics |
| `servers[].storageDetails.totalGB` | number | read-only | Total storage size, in GB |
| `servers[].storageDetails.type` | order.catalog.formatted.baremetalServers.StorageTypeEnum | read-only | Storage type (e.g. SSD NVMe, HDD SATA) — one of `HDD`, `Hybrid`, `NVMe`, `SAS`, `SATA`, `SSD` |
| `servers[].storageRaid` | string | read-only | RAID level of the default storage configuration |
| `servers[].storageRange` | string | read-only | Storage options available for the server |
| `servers[].storageType` | string | read-only | Storage type of the default configuration (e.g. SSD NVMe Soft RAID) |
| `servers[].useCases` | string[] | read-only | Use cases the server is recommended for |
| `total` | integer | read-only | Total number of servers matching the filters |

```json
{
  "count": 0,
  "display": {
    "pricePrefix": "string",
    "taxMode": "both",
    "unitSeparator": "string",
    "vatWord": "string"
  },
  "pagination": [
    0
  ],
  "servers": [
    {
      "availability": "available",
      "bandwidthMbps": 0,
      "catalogOrder": 0,
      "catalogRange": "string",
      "cpu": "string",
      "cpuDetails": {
        "boost": 0,
        "brand": "string",
        "cores": 0,
        "frequency": 0,
        "model": "string",
        "number": 0,
        "score": 0,
        "threads": 0
      },
      "datacenters": [
        "string"
      ],
      "defaultAddons": {
        "bandwidth": {
          "invoiceName": "string",
          "planCode": "string"
        },
        "memory": {
          "invoiceName": "string",
          "planCode": "string"
        },
        "storage": {
          "invoiceName": "string",
          "planCode": "string"
        },
        "systemStorage": {
          "invoiceName": "string",
          "planCode": "string"
        },
        "vrack": {
          "invoiceName": "string",
          "planCode": "string"
        }
      },
      "gpu": {
        "brand": "string",
        "memory": 0,
        "model": "string",
        "number": 0
      },
      "hasPromotion": true,
      "invoiceName": "string",
      "lastGeneration": true,
      "memory": "string",
      "memoryRange": "string",
      "name": "string",
      "osAvailable": [
        "string"
      ],
      "planCode": "string",
      "price": {
        "currency": "string",
        "formatted": "string",
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/baremetalServers" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/baremetalServers")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/baremetalServers");

print_r($result);
?>
```

## Retrieve information of bring your own IP addresses catalog

`GET /1.0/order/catalog/formatted/bringYourOwnIp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-bringyourownip

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/bringYourOwnIp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/bringYourOwnIp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/bringYourOwnIp");

print_r($result);
?>
```

## Retrieve information of Public Cloud catalog

`GET /1.0/order/catalog/formatted/cloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-cloud

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2025-09-15, removed on 2026-03-02; use `/order/catalog/public/cloud` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/cloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/cloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/cloud");

print_r($result);
?>
```

## Retrieve information of dedicated server catalog

`GET /1.0/order/catalog/formatted/dedicated`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-dedicated

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.dedicated.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `families` | order.catalog.dedicated.Family[] | read-only | Families of the catalog |
| `families[].name` | string | read-only | Family name |
| `families[].products` | string[] | read-only | Family products |
| `metadatas` | order.catalog.dedicated.Metadata | read-only | Metadata of the catalog |
| `metadatas.catalog` | integer | read-only | Identifier of the catalog |
| `metadatas.core` | order.catalog.dedicated.Metadata.Capacities | read-only | Core |
| `metadatas.core.max` | integer | read-only | Max |
| `metadatas.core.min` | integer | read-only | Min |
| `metadatas.currency` | order.catalog.dedicated.Metadata.Currency | read-only | Currency |
| `metadatas.currency.code` | order.CurrencyCodeEnum | read-only | Currency code — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `metadatas.currency.description` | string | read-only | Currency description |
| `metadatas.currency.symbol` | string | read-only | Currency symbol |
| `metadatas.datacenters` | string[] | read-only | List of datacenters |
| `metadatas.frequency` | order.catalog.dedicated.Metadata.Frequency | read-only | Frequency |
| `metadatas.frequency.max` | number | read-only | Max |
| `metadatas.frequency.min` | number | read-only | Min |
| `metadatas.merchant` | nichandle.OvhSubsidiaryEnum | read-only | Merchant — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `metadatas.price` | order.catalog.dedicated.Metadata.Price | read-only | Price |
| `metadatas.price.max` | number | read-only | Max |
| `metadatas.price.min` | number | read-only | Min |
| `metadatas.ram` | order.catalog.dedicated.Metadata.Capacities | read-only | RAM |
| `metadatas.ram.max` | integer | read-only | Max |
| `metadatas.ram.min` | integer | read-only | Min |
| `metadatas.thread` | order.catalog.dedicated.Metadata.Capacities | read-only | Thread |
| `metadatas.thread.max` | integer | read-only | Max |
| `metadatas.thread.min` | integer | read-only | Min |
| `metadatas.timestamp` | integer | read-only | Timestamp |
| `products` | order.catalog.dedicated.Product[] | read-only | Products of the catalog |
| `products[].addonsFamily` | order.catalog.dedicated.Product.AddonFamily[] | read-only | List of addon family |
| `products[].addonsFamily[].addons` | order.catalog.dedicated.Product.AddonItem[] | read-only | List of addon |
| `products[].addonsFamily[].family` | string | read-only | Family name |
| `products[].code` | string | read-only | Code |
| `products[].compatibilities` | order.catalog.dedicated.Product.Compatibility[] | read-only | List of compatibility |
| `products[].compatibilities[].plan` | string | read-only | Plan name |
| `products[].compatibilities[].restrictions` | order.catalog.dedicated.Product.Compatibility.Restriction[] | read-only | List of restriction |
| `products[].compatibilities[].specificities` | order.catalog.dedicated.TechDetails.Plan.Specificity[] | read-only | List of restriction |
| `products[].datacenters` | string[] | read-only | Datacenters |
| `products[].derivatives` | order.catalog.dedicated.Product.AddonItem[] | read-only | List of derivative |
| `products[].derivatives[].code` | string | read-only | Addon code |
| `products[].derivatives[].datacenters` | string[] | read-only | List of datacenter |
| `products[].derivatives[].name` | string | read-only | Addon name |
| `products[].derivatives[].options` | string | read-only | Options |
| `products[].derivatives[].price` | order.Price | read-only | Addon price |
| `products[].family` | string | read-only | Family |
| `products[].invoiceName` | string | read-only | Name that appears on invoice |
| `products[].isChildOf` | string | read-only | Name of the parent |
| `products[].isParentOf` | string[] | read-only | Name of the children |
| `products[].prices` | order.catalog.dedicated.Product.Price | read-only | Prices |
| `products[].prices.default` | order.catalog.dedicated.Product.Price.Default | read-only | Default price |
| `products[].prices.hardzone` | string | read-only | Hardzone |
| `products[].prices.week` | string | read-only | Week |
| `products[].specifications` | order.catalog.dedicated.Product.Specification | read-only | Specifications |
| `products[].specifications.cpu` | order.catalog.dedicated.Product.Specification.CPU | read-only | CPU |
| `products[].specifications.disks` | order.catalog.dedicated.Product.Specification.Disk[] | read-only | List of disk |
| `products[].specifications.gpu` | order.catalog.dedicated.Product.Specification.GPU | read-only | GPU |
| `products[].specifications.memory` | order.catalog.dedicated.Product.Specification.Memory | read-only | Memory |
| `products[].specifications.network` | order.catalog.dedicated.Product.Specification.Network | read-only | Network |
| `techDetails` | order.catalog.dedicated.TechDetails[] | read-only | Technical details |
| `techDetails[].plans` | order.catalog.dedicated.TechDetails.Plan[] | read-only | List of plan |
| `techDetails[].plans[].code` | string | read-only | Plan code |
| `techDetails[].plans[].specificities` | order.catalog.dedicated.TechDetails.Plan.Specificity[] | read-only | List of specificity |
| `techDetails[].type` | string | read-only | Technical type |

```json
{
  "families": [
    {
      "name": "string",
      "products": [
        "string"
      ]
    }
  ],
  "metadatas": {
    "catalog": 0,
    "core": {
      "max": 0,
      "min": 0
    },
    "currency": {
      "code": "AUD",
      "description": "string",
      "symbol": "string"
    },
    "datacenters": [
      "string"
    ],
    "frequency": {
      "max": 0,
      "min": 0
    },
    "merchant": "ASIA",
    "price": {
      "max": 0,
      "min": 0
    },
    "ram": {
      "max": 0,
      "min": 0
    },
    "thread": {
      "max": 0,
      "min": 0
    },
    "timestamp": 0
  },
  "products": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "code": null,
              "datacenters": null,
              "name": null,
              "options": null,
              "price": null
            }
          ],
          "family": "string"
        }
      ],
      "code": "string",
      "compatibilities": [
        {
          "plan": "string",
          "restrictions": [
            {
              "name": null,
              "sections": null
            }
          ],
          "specificities": [
            {
              "key": null,
              "value": null
            }
          ]
        }
      ],
      "datacenters": [
        "string"
      ],
      "derivatives": [
        {
          "code": "string",
          "datacenters": [
            "string"
          ],
          "name": "string",
          "options": "string",
          "price": {
            "currencyCode": "AUD",
            "text": "string",
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/dedicated" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/dedicated")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/dedicated");

print_r($result);
?>
```

## Retrieve information of dedicated discover offer server catalog

`GET /1.0/order/catalog/formatted/discover`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-discover

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.dedicated.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `families` | order.catalog.dedicated.Family[] | read-only | Families of the catalog |
| `families[].name` | string | read-only | Family name |
| `families[].products` | string[] | read-only | Family products |
| `metadatas` | order.catalog.dedicated.Metadata | read-only | Metadata of the catalog |
| `metadatas.catalog` | integer | read-only | Identifier of the catalog |
| `metadatas.core` | order.catalog.dedicated.Metadata.Capacities | read-only | Core |
| `metadatas.core.max` | integer | read-only | Max |
| `metadatas.core.min` | integer | read-only | Min |
| `metadatas.currency` | order.catalog.dedicated.Metadata.Currency | read-only | Currency |
| `metadatas.currency.code` | order.CurrencyCodeEnum | read-only | Currency code — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `metadatas.currency.description` | string | read-only | Currency description |
| `metadatas.currency.symbol` | string | read-only | Currency symbol |
| `metadatas.datacenters` | string[] | read-only | List of datacenters |
| `metadatas.frequency` | order.catalog.dedicated.Metadata.Frequency | read-only | Frequency |
| `metadatas.frequency.max` | number | read-only | Max |
| `metadatas.frequency.min` | number | read-only | Min |
| `metadatas.merchant` | nichandle.OvhSubsidiaryEnum | read-only | Merchant — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `metadatas.price` | order.catalog.dedicated.Metadata.Price | read-only | Price |
| `metadatas.price.max` | number | read-only | Max |
| `metadatas.price.min` | number | read-only | Min |
| `metadatas.ram` | order.catalog.dedicated.Metadata.Capacities | read-only | RAM |
| `metadatas.ram.max` | integer | read-only | Max |
| `metadatas.ram.min` | integer | read-only | Min |
| `metadatas.thread` | order.catalog.dedicated.Metadata.Capacities | read-only | Thread |
| `metadatas.thread.max` | integer | read-only | Max |
| `metadatas.thread.min` | integer | read-only | Min |
| `metadatas.timestamp` | integer | read-only | Timestamp |
| `products` | order.catalog.dedicated.Product[] | read-only | Products of the catalog |
| `products[].addonsFamily` | order.catalog.dedicated.Product.AddonFamily[] | read-only | List of addon family |
| `products[].addonsFamily[].addons` | order.catalog.dedicated.Product.AddonItem[] | read-only | List of addon |
| `products[].addonsFamily[].family` | string | read-only | Family name |
| `products[].code` | string | read-only | Code |
| `products[].compatibilities` | order.catalog.dedicated.Product.Compatibility[] | read-only | List of compatibility |
| `products[].compatibilities[].plan` | string | read-only | Plan name |
| `products[].compatibilities[].restrictions` | order.catalog.dedicated.Product.Compatibility.Restriction[] | read-only | List of restriction |
| `products[].compatibilities[].specificities` | order.catalog.dedicated.TechDetails.Plan.Specificity[] | read-only | List of restriction |
| `products[].datacenters` | string[] | read-only | Datacenters |
| `products[].derivatives` | order.catalog.dedicated.Product.AddonItem[] | read-only | List of derivative |
| `products[].derivatives[].code` | string | read-only | Addon code |
| `products[].derivatives[].datacenters` | string[] | read-only | List of datacenter |
| `products[].derivatives[].name` | string | read-only | Addon name |
| `products[].derivatives[].options` | string | read-only | Options |
| `products[].derivatives[].price` | order.Price | read-only | Addon price |
| `products[].family` | string | read-only | Family |
| `products[].invoiceName` | string | read-only | Name that appears on invoice |
| `products[].isChildOf` | string | read-only | Name of the parent |
| `products[].isParentOf` | string[] | read-only | Name of the children |
| `products[].prices` | order.catalog.dedicated.Product.Price | read-only | Prices |
| `products[].prices.default` | order.catalog.dedicated.Product.Price.Default | read-only | Default price |
| `products[].prices.hardzone` | string | read-only | Hardzone |
| `products[].prices.week` | string | read-only | Week |
| `products[].specifications` | order.catalog.dedicated.Product.Specification | read-only | Specifications |
| `products[].specifications.cpu` | order.catalog.dedicated.Product.Specification.CPU | read-only | CPU |
| `products[].specifications.disks` | order.catalog.dedicated.Product.Specification.Disk[] | read-only | List of disk |
| `products[].specifications.gpu` | order.catalog.dedicated.Product.Specification.GPU | read-only | GPU |
| `products[].specifications.memory` | order.catalog.dedicated.Product.Specification.Memory | read-only | Memory |
| `products[].specifications.network` | order.catalog.dedicated.Product.Specification.Network | read-only | Network |
| `techDetails` | order.catalog.dedicated.TechDetails[] | read-only | Technical details |
| `techDetails[].plans` | order.catalog.dedicated.TechDetails.Plan[] | read-only | List of plan |
| `techDetails[].plans[].code` | string | read-only | Plan code |
| `techDetails[].plans[].specificities` | order.catalog.dedicated.TechDetails.Plan.Specificity[] | read-only | List of specificity |
| `techDetails[].type` | string | read-only | Technical type |

```json
{
  "families": [
    {
      "name": "string",
      "products": [
        "string"
      ]
    }
  ],
  "metadatas": {
    "catalog": 0,
    "core": {
      "max": 0,
      "min": 0
    },
    "currency": {
      "code": "AUD",
      "description": "string",
      "symbol": "string"
    },
    "datacenters": [
      "string"
    ],
    "frequency": {
      "max": 0,
      "min": 0
    },
    "merchant": "ASIA",
    "price": {
      "max": 0,
      "min": 0
    },
    "ram": {
      "max": 0,
      "min": 0
    },
    "thread": {
      "max": 0,
      "min": 0
    },
    "timestamp": 0
  },
  "products": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "code": null,
              "datacenters": null,
              "name": null,
              "options": null,
              "price": null
            }
          ],
          "family": "string"
        }
      ],
      "code": "string",
      "compatibilities": [
        {
          "plan": "string",
          "restrictions": [
            {
              "name": null,
              "sections": null
            }
          ],
          "specificities": [
            {
              "key": null,
              "value": null
            }
          ]
        }
      ],
      "datacenters": [
        "string"
      ],
      "derivatives": [
        {
          "code": "string",
          "datacenters": [
            "string"
          ],
          "name": "string",
          "options": "string",
          "price": {
            "currencyCode": "AUD",
            "text": "string",
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/discover" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/discover")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/discover");

print_r($result);
?>
```

## List the domain extensions of the public catalog for a subsidiary

`GET /1.0/order/catalog/formatted/domain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-domain

**Status:** Stable production version  
**Authentication:** none (public operation)

Domain extensions of the public catalog for a subsidiary, with creation/renewal/transfer/restore/trade prices and promotions, keyword search, thematic category and geographic zone filters, price filtering, sorting and pagination.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `categories` | query | string[] |  | Filter on thematic categories (byCategory machine names, e.g. art_and_culture); several values combine with OR. Repeat the parameter for multiple values |
| `count` | query | integer |  | Number of results per page. Default to 25 |
| `offset` | query | integer |  | Offset of the first result returned, used with count for pagination |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | OVHcloud subsidiary targeted — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `period` | query | integer |  | Commitment in years whose price priceMin, priceMax and price sorting read: 1 (default), 3 or 5 (the multiyear totals; extensions without that commitment never match a price range and come last when sorting by price) |
| `planCode` | query | string |  | Return only the extension with this plan code (e.g. fr for .fr, com for .com) |
| `planCodes` | query | string |  | Return only the extensions with these plan codes, comma-separated (e.g. com,fr) |
| `priceMax` | query | number |  | Maximum price |
| `priceMin` | query | number |  | Minimum price |
| `priceType` | query | string |  | Price used by priceMin, priceMax and price sorting: creation (default), renewal or transfer |
| `promotion` | query | boolean |  | Return only the extensions in promotion over the period: a creation or multi-year promotion, or a discounted price |
| `search` | query | string |  | Search extensions by name |
| `sort` | query | string |  | Sort order: name-asc (default), name-desc, price-asc or price-desc. Extensions with a promotion always come first |
| `zones` | query | string[] |  | Filter on geographic zones (byCategory machine names, e.g. europe); several values combine with OR. Repeat the parameter for multiple values |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.formatted.domain.ExtensionList | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `count` | integer | read-only | Number of extensions in this page |
| `display` | order.catalog.formatted.domain.PriceDisplay | read-only | How the subsidiary's prices are put forward on the website |
| `display.pricePrefix` | string | read-only | 'Starting at' wording (e.g. À partir de, From); empty here, a domain extension being sold at its own price |
| `display.taxMode` | order.catalog.formatted.domain.TaxModeEnum | read-only | Price to put forward: both (price excl. VAT, then the VAT-included one), incl (VAT-included price only) or excl (tax-excluded price only) — one of `both`, `excl`, `incl` |
| `display.unitSeparator` | string | read-only | Separator between an amount and its price unit: a space, or empty where the unit is attached |
| `display.vatWord` | string | read-only | Wording introducing the VAT-included price (e.g. soit, or); empty where none is shown |
| `extensions` | order.catalog.formatted.domain.Extension[] | read-only | Domain extensions of this page |
| `extensions[].currency` | string | read-only | Currency of the prices |
| `extensions[].extension` | string | read-only | Domain extension (e.g. .com, .fr) |
| `extensions[].hasMultiyearPromotion` | boolean | read-only | Whether a multi-year promotion is currently applied to this extension |
| `extensions[].hasPromotion` | boolean | read-only | Whether a promotion is currently applied to this extension |
| `extensions[].multiyear` | object | read-only | Totals of the 3- and 5-year commitments the registry of the extension allows, keyed by number of years ("3", "5"): the first year at the catalog price, the next ones at the renewal price, less the best active multi-year discount |
| `extensions[].multiyearPromotions` | order.catalog.formatted.domain.MultiyearPromotion[] | read-only | Active multi-year offers of the extension (discounted renewal years when registering several years upfront) |
| `extensions[].multiyearPromotions[].description` | string | read-only | Description of the offer |
| `extensions[].multiyearPromotions[].discountPerYear` | integer | read-only | Discount applied to each discounted renewal year, in cents excl. tax |
| `extensions[].multiyearPromotions[].duration` | integer | read-only | Duration of the discount, in months (0 = unbounded) |
| `extensions[].multiyearPromotions[].endDate` | string | read-only | End date of the offer |
| `extensions[].multiyearPromotions[].minimumDuration` | integer | read-only | Minimum commitment, in months, to benefit from the offer |
| `extensions[].multiyearPromotions[].name` | string | read-only | Name of the offer |
| `extensions[].planCode` | string | read-only | Plan code of the extension in the order catalog |
| `extensions[].priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `extensions[].priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `extensions[].prices` | order.catalog.formatted.domain.Prices | read-only | Prices of the domain operations available for this extension |
| `extensions[].prices.creation` | order.catalog.formatted.domain.FormattedPrice | read-only | Price of a domain creation |
| `extensions[].prices.renewal` | order.catalog.formatted.domain.FormattedPrice | read-only | Price of a domain renewal |
| `extensions[].prices.restore` | order.catalog.formatted.domain.FormattedPrice | read-only | Price of a domain restore |
| `extensions[].prices.trade` | order.catalog.formatted.domain.FormattedPrice | read-only | Price of a domain change of owner. Extensions without a trade addon have none |
| `extensions[].prices.transfer` | order.catalog.formatted.domain.FormattedPrice | read-only | Price of a domain transfer |
| `extensions[].promotion` | order.catalog.formatted.domain.Promotion | read-only | Promotion currently applied to this extension |
| `extensions[].promotion.context` | string | read-only | Nature of the promotion as the catalog tells it (e.g. standard, welcome for a new-customer offer) |
| `extensions[].promotion.endDate` | string | read-only | End date of the promotion |
| `extensions[].promotion.formatted` | string | read-only | Promotion discount formatted with the subsidiary currency, excl. tax |
| `extensions[].promotion.formattedVat` | string | read-only | Promotion discount formatted with the subsidiary currency, incl. tax |
| `extensions[].promotion.name` | string | read-only | Name of the promotion |
| `extensions[].promotion.type` | string | read-only | Type of the promotion |
| `extensions[].promotion.value` | integer | read-only | Promotion discount in cents, excl. tax |
| `extensions[].promotion.valueVat` | integer | read-only | Promotion discount in cents, incl. tax |
| `extensions[].transferRegular` | order.catalog.formatted.domain.FormattedPrice | read-only | Regular transfer price, served when prices.transfer carries an active transfer promotion |
| `extensions[].transferRegular.formatted` | string | read-only | Price formatted with the subsidiary currency, excl. tax |
| `extensions[].transferRegular.formattedVat` | string | read-only | Price formatted with the subsidiary currency, incl. tax |
| `extensions[].transferRegular.value` | integer | read-only | Price in cents, excl. tax |
| `extensions[].transferRegular.valueVat` | integer | read-only | Price in cents, incl. tax |
| `pagination` | integer[] | read-only | List of the available page numbers |
| `total` | integer | read-only | Total number of extensions matching the filters |
| `webhosting` | order.catalog.formatted.domain.WebhostingOffer | read-only | Cheapest web hosting offer of the subsidiary, for the TLD pages' hosting cross-sell card. Omitted when the webHosting catalog is unavailable |
| `webhosting.currency` | string | read-only | Currency of the prices |
| `webhosting.monthly` | order.catalog.formatted.domain.FormattedPrice | read-only | Monthly equivalent of the offer's yearly price |
| `webhosting.monthly.formatted` | string | read-only | Price formatted with the subsidiary currency, excl. tax |
| `webhosting.monthly.formattedVat` | string | read-only | Price formatted with the subsidiary currency, incl. tax |
| `webhosting.monthly.value` | integer | read-only | Price in cents, excl. tax |
| `webhosting.monthly.valueVat` | integer | read-only | Price in cents, incl. tax |
| `webhosting.planCode` | string | read-only | Plan code of the offer in the webHosting catalog |
| `webhosting.renewal` | order.catalog.formatted.domain.FormattedPrice | read-only | Monthly equivalent of the offer's yearly renewal price, when it differs from the promotional price |
| `webhosting.renewal.formatted` | string | read-only | Price formatted with the subsidiary currency, excl. tax |
| `webhosting.renewal.formattedVat` | string | read-only | Price formatted with the subsidiary currency, incl. tax |
| `webhosting.renewal.value` | integer | read-only | Price in cents, excl. tax |
| `webhosting.renewal.valueVat` | integer | read-only | Price in cents, incl. tax |

```json
{
  "count": 0,
  "display": {
    "pricePrefix": "string",
    "taxMode": "both",
    "unitSeparator": "string",
    "vatWord": "string"
  },
  "extensions": [
    {
      "currency": "string",
      "extension": "string",
      "hasMultiyearPromotion": true,
      "hasPromotion": true,
      "multiyear": {
        "key": {
          "creation": {
            "price": {
              "formatted": null,
              "formattedVat": null,
              "value": null,
              "valueVat": null
            },
            "regular": {
              "formatted": null,
              "formattedVat": null,
              "value": null,
              "valueVat": null
            }
          },
          "renewal": {
            "price": {
              "formatted": null,
              "formattedVat": null,
              "value": null,
              "valueVat": null
            },
            "regular": {
              "formatted": null,
              "formattedVat": null,
              "value": null,
              "valueVat": null
            }
          },
          "transfer": {
            "price": {
              "formatted": null,
              "formattedVat": null,
              "value": null,
              "valueVat": null
            },
            "regular": {
              "formatted": null,
              "formattedVat": null,
              "value": null,
              "valueVat": null
            }
          }
        }
      },
      "multiyearPromotions": [
        {
          "description": "string",
          "discountPerYear": 0,
          "duration": 0,
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/domain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/domain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/domain");

print_r($result);
?>
```

## List available domain names close to a domain name, with their prices

`GET /1.0/order/catalog/formatted/domain/alternativeNames`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-domain-alternativenames

**Status:** Stable production version  
**Authentication:** none (public operation)

The first two available domain names suggested for a domain name (the name itself excluded) whose extension the subsidiary sells, in the order of the suggestion engine, each with its first-year creation price and, while a promotion runs, the price before it and the promotion. Europe subsidiaries only: the suggestions are made for the subsidiary's market.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `label` | query | string | yes | Domain name looked up (e.g. boulangerie.fr) |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | OVHcloud subsidiary targeted, a Europe one — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.formatted.domain.AlternativeNames | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `label` | string | read-only | Domain name looked up, in lower case |
| `suggestions` | order.catalog.formatted.domain.AlternativeName[] | read-only | At most two available domain names whose extension the subsidiary sells, in the order of the suggestion engine |
| `suggestions[].currency` | string | read-only | Currency of the prices |
| `suggestions[].extension` | string | read-only | Domain extension of the name (e.g. .com, .fr) |
| `suggestions[].hasPromotion` | boolean | read-only | Whether a creation promotion is currently applied to the extension |
| `suggestions[].name` | string | read-only | Available domain name |
| `suggestions[].planCode` | string | read-only | Plan code of the extension in the order catalog |
| `suggestions[].price` | order.catalog.formatted.domain.FormattedPrice | read-only | First-year creation price, the promoted one while a promotion runs |
| `suggestions[].price.formatted` | string | read-only | Price formatted with the subsidiary currency, excl. tax |
| `suggestions[].price.formattedVat` | string | read-only | Price formatted with the subsidiary currency, incl. tax |
| `suggestions[].price.value` | integer | read-only | Price in cents, excl. tax |
| `suggestions[].price.valueVat` | integer | read-only | Price in cents, incl. tax |
| `suggestions[].priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `suggestions[].priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `suggestions[].promotion` | order.catalog.formatted.domain.Promotion | read-only | Creation promotion currently applied to the extension |
| `suggestions[].promotion.context` | string | read-only | Nature of the promotion as the catalog tells it (e.g. standard, welcome for a new-customer offer) |
| `suggestions[].promotion.endDate` | string | read-only | End date of the promotion |
| `suggestions[].promotion.formatted` | string | read-only | Promotion discount formatted with the subsidiary currency, excl. tax |
| `suggestions[].promotion.formattedVat` | string | read-only | Promotion discount formatted with the subsidiary currency, incl. tax |
| `suggestions[].promotion.name` | string | read-only | Name of the promotion |
| `suggestions[].promotion.type` | string | read-only | Type of the promotion |
| `suggestions[].promotion.value` | integer | read-only | Promotion discount in cents, excl. tax |
| `suggestions[].promotion.valueVat` | integer | read-only | Promotion discount in cents, incl. tax |
| `suggestions[].regularPrice` | order.catalog.formatted.domain.FormattedPrice | read-only | Creation price before the promotion, to strike through. Absent without a discount |
| `suggestions[].regularPrice.formatted` | string | read-only | Price formatted with the subsidiary currency, excl. tax |
| `suggestions[].regularPrice.formattedVat` | string | read-only | Price formatted with the subsidiary currency, incl. tax |
| `suggestions[].regularPrice.value` | integer | read-only | Price in cents, excl. tax |
| `suggestions[].regularPrice.valueVat` | integer | read-only | Price in cents, incl. tax |

```json
{
  "label": "string",
  "suggestions": [
    {
      "currency": "string",
      "extension": "string",
      "hasPromotion": true,
      "name": "string",
      "planCode": "string",
      "price": {
        "formatted": "string",
        "formattedVat": "string",
        "value": 0,
        "valueVat": 0
      },
      "priceUnit": "string",
      "priceUnitVat": "string",
      "promotion": {
        "context": "string",
        "endDate": "string",
        "formatted": "string",
        "formattedVat": "string",
        "name": "string",
        "type": "string",
        "value": 0,
        "valueVat": 0
      },
      "regularPrice": {
        "formatted": "string",
        "formattedVat": "string",
        "value": 0,
        "valueVat": 0
      }
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/domain/alternativeNames" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/domain/alternativeNames")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/domain/alternativeNames");

print_r($result);
?>
```

## List the servers of the public eco catalog for a subsidiary

`GET /1.0/order/catalog/formatted/eco`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-eco

**Status:** Stable production version  
**Authentication:** none (public operation)

Servers of the public eco catalog for a subsidiary, cross-checked against datacenter availability, with interactive filters, optional grouping by commercial reference (`groupBy=reference`), sorting and pagination.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `availability` | query | string |  | Servers to list: available (default) lists the orderable ones; all also lists the sold-out and coming-soon ones, each tagged with its availability |
| `coresMax` | query | integer |  | Maximum number of CPU cores |
| `coresMin` | query | integer |  | Minimum number of CPU cores |
| `count` | query | integer |  | Number of results per page. Default to 20 |
| `cpuBrands` | query | string[] |  | Filter on CPU brands (e.g. Intel, AMD). Repeat the parameter for multiple values |
| `datacenters` | query | string[] |  | Filter on datacenters where the server is available. Repeat the parameter for multiple values |
| `exclude` | query | string[] |  | Response sections to exclude to lighten the response (e.g. variants) |
| `freqMax` | query | number |  | Maximum CPU frequency, in GHz |
| `freqMin` | query | number |  | Minimum CPU frequency, in GHz |
| `groupBy` | query | string |  | Group the servers by commercial reference. Only allowed value: reference |
| `offset` | query | integer |  | Offset of the first result returned, used with count for pagination |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | OVHcloud subsidiary targeted — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `planCodes` | query | string |  | Return only the servers with these plan codes, comma-separated (e.g. 24skgame012-syd,24sk202) |
| `priceMax` | query | number |  | Maximum monthly price |
| `priceMin` | query | number |  | Minimum monthly price |
| `privateBwMax` | query | integer |  | Maximum private bandwidth, in Mbps |
| `privateBwMin` | query | integer |  | Minimum private bandwidth, in Mbps |
| `publicBwMax` | query | integer |  | Maximum public bandwidth, in Mbps |
| `publicBwMin` | query | integer |  | Minimum public bandwidth, in Mbps |
| `ramMax` | query | integer |  | Maximum RAM size, in GB |
| `ramMin` | query | integer |  | Minimum RAM size, in GB |
| `ranges` | query | string[] |  | Filter on commercial ranges. Repeat the parameter for multiple values |
| `scoreMax` | query | integer |  | Maximum CPU benchmark score |
| `scoreMin` | query | integer |  | Minimum CPU benchmark score |
| `sort` | query | string |  | Sort order: price-asc (default), price-desc, name-asc or name-desc. Servers with a promotion always come first |
| `storageMax` | query | number |  | Maximum storage size, in GB |
| `storageMin` | query | number |  | Minimum storage size, in GB |
| `storageTypes` | query | string[] |  | Filter on storage types. Repeat the parameter for multiple values |
| `threadsMax` | query | integer |  | Maximum number of CPU threads |
| `threadsMin` | query | integer |  | Minimum number of CPU threads |
| `useCases` | query | string[] |  | Filter on server use cases. Repeat the parameter for multiple values |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.formatted.eco.ServerList | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `count` | integer | read-only | Number of servers (or references when groupBy=reference) in this page |
| `display` | order.catalog.formatted.eco.PriceDisplay | read-only | How the subsidiary's prices are put forward on the website |
| `display.pricePrefix` | string | read-only | 'Starting at' wording (e.g. À partir de, From) |
| `display.taxMode` | order.catalog.formatted.eco.TaxModeEnum | read-only | Price to put forward: both (price excl. VAT, then the VAT-included one), incl (VAT-included price only) or excl (tax-excluded price only) — one of `both`, `excl`, `incl` |
| `display.unitSeparator` | string | read-only | Separator between an amount and its price unit: a space, or empty where the unit is attached |
| `display.vatWord` | string | read-only | Wording introducing the VAT-included price (e.g. soit, or); empty where none is shown |
| `facets` | order.catalog.formatted.eco.Facets | read-only | Values available for the interactive filters, computed on the matching servers. Only when groupBy=reference |
| `facets.coreThreads` | order.catalog.formatted.eco.CoreThread[] | read-only | Available cores/threads combinations |
| `facets.coreThreads[].cores` | integer | read-only | Number of cores |
| `facets.coreThreads[].threads` | integer | read-only | Number of threads |
| `facets.cpuBrands` | string[] | read-only | Available CPU brands |
| `facets.frequencies` | number[] | read-only | Available CPU frequencies, in GHz |
| `facets.priceMax` | integer | read-only | Highest monthly price in microcents (1/100 000 000 of a currency unit) |
| `facets.priceMin` | integer | read-only | Lowest monthly price in microcents (1/100 000 000 of a currency unit) |
| `facets.ramSizesGB` | integer[] | read-only | Available RAM sizes, in GB |
| `facets.storageSizesGB` | integer[] | read-only | Available storage sizes, in GB |
| `facets.storageTypes` | string[] | read-only | Available storage types |
| `facets.technical` | order.catalog.formatted.eco.TechnicalFacet | read-only | Technical characteristics available across the matching servers |
| `facets.technical.ddosLevels` | string[] | read-only | Available anti-DDoS levels |
| `facets.technical.diskCount` | order.catalog.formatted.eco.MinMax | read-only | Range of the number of disks |
| `facets.technical.hasDualPowerSupply` | boolean | read-only | Whether servers with a dual power supply are available |
| `facets.technical.hasHotSwapDisks` | boolean | read-only | Whether servers with hot-swap disks are available |
| `facets.technical.sla` | order.catalog.formatted.eco.MinMaxDouble | read-only | Range of the SLA, in percent |
| `facets.technical.storageInterfaces` | string[] | read-only | Available storage interfaces |
| `facets.technical.storageTechnologies` | string[] | read-only | Available storage technologies |
| `pagination` | integer[] | read-only | List of the available page numbers |
| `references` | order.catalog.formatted.eco.ServerReference[] | read-only | Commercial references of this page, each grouping its server variants. Only when groupBy=reference |
| `references[].availability` | order.catalog.formatted.eco.AvailabilityEnum | read-only | Best availability of its servers; its prices and default variant are those of the servers with that availability — one of `available`, `comingSoon`, `unavailable` |
| `references[].availabilityFqns` | order.catalog.formatted.eco.AvailabilityFQN[] | read-only | Fully qualified configurations of the reference known by the datacenter availability service |
| `references[].availabilityFqns[].memory` | string | read-only | Memory option of the configuration |
| `references[].availabilityFqns[].planCode` | string | read-only | Plan code of the configuration |
| `references[].availabilityFqns[].storage` | string | read-only | Storage option of the configuration |
| `references[].availabilityFqns[].systemStorage` | string | read-only | System storage option of the configuration |
| `references[].bandwidth` | string | read-only | Public bandwidth label |
| `references[].basePlanCode` | string | read-only | Plan code of the reference's default variant |
| `references[].cpu` | string | read-only | CPU description, localized |
| `references[].cpuDetails` | order.catalog.formatted.eco.CPUDetails | read-only | Structured CPU characteristics |
| `references[].cpuDetails.boost` | number | read-only | Boost frequency, in GHz |
| `references[].cpuDetails.brand` | string | read-only | CPU brand (e.g. Intel, AMD) |
| `references[].cpuDetails.cores` | integer | read-only | Number of cores |
| `references[].cpuDetails.frequency` | number | read-only | Base frequency, in GHz |
| `references[].cpuDetails.model` | string | read-only | CPU model |
| `references[].cpuDetails.number` | integer | read-only | Number of CPUs |
| `references[].cpuDetails.score` | integer | read-only | CPU benchmark score |
| `references[].cpuDetails.threads` | integer | read-only | Number of threads |
| `references[].datacenters` | string[] | read-only | Datacenters where at least one variant is available |
| `references[].defaultVariant` | order.catalog.formatted.eco.ServerVariant | read-only | Default variant of the reference |
| `references[].defaultVariant.availability` | order.catalog.formatted.eco.AvailabilityEnum | read-only | Best availability of the server across its datacenters; absent without availability data — one of `available`, `comingSoon`, `unavailable` |
| `references[].defaultVariant.availabilityByDatacenter` | object | read-only | Availability of the server in each datacenter |
| `references[].defaultVariant.bandwidth` | string | read-only | Public bandwidth label |
| `references[].defaultVariant.bandwidthAddon` | order.catalog.formatted.eco.AddonOption | read-only | Bandwidth addon included in the price |
| `references[].defaultVariant.bandwidthMbps` | integer | read-only | Public bandwidth, in Mbps |
| `references[].defaultVariant.catalogDefaults` | order.catalog.formatted.eco.CatalogDefaults | read-only | Default memory and storage of the reference in the catalog |
| `references[].defaultVariant.cpu` | string | read-only | CPU description, localized |
| `references[].defaultVariant.cpuDetails` | order.catalog.formatted.eco.CPUDetails | read-only | Structured CPU characteristics |
| `references[].defaultVariant.datacenters` | string[] | read-only | Datacenters where the server is available |
| `references[].defaultVariant.hasPromotion` | boolean | read-only | Whether a promotion is currently applied to this server |
| `references[].defaultVariant.invoiceName` | string | read-only | Invoice name of the server's plan in the order catalog (e.g. KS-LE-1) |
| `references[].defaultVariant.name` | string | read-only | Commercial name of the server |
| `references[].defaultVariant.planCode` | string | read-only | Plan code of the server in the order catalog |
| `references[].defaultVariant.price` | order.catalog.formatted.eco.ServerPrice | read-only | Default price of the server |
| `references[].defaultVariant.priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `references[].defaultVariant.priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `references[].defaultVariant.pricesByDatacenter` | object | read-only | Price of the server per datacenter, keyed by datacenter code |
| `references[].defaultVariant.privateBandwidth` | string | read-only | Private (vRack) bandwidth label |
| `references[].defaultVariant.privateBandwidthMbps` | integer | read-only | Private (vRack) bandwidth, in Mbps |
| `references[].defaultVariant.ram` | order.catalog.formatted.eco.AddonOption | read-only | RAM configuration of the server |
| `references[].defaultVariant.ramDetails` | order.catalog.formatted.eco.RAMDetails | read-only | Structured RAM characteristics |
| `references[].defaultVariant.range` | string | read-only | Commercial range of the server |
| `references[].defaultVariant.storage` | order.catalog.formatted.eco.AddonOption | read-only | Storage configuration of the server |
| `references[].defaultVariant.storageDetails` | order.catalog.formatted.eco.StorageDetails | read-only | Structured storage characteristics |
| `references[].defaultVariant.systemStorage` | order.catalog.formatted.eco.AddonOption | read-only | System storage of the server, when distinct from the data storage |
| `references[].defaultVariant.useCases` | string[] | read-only | Use cases the server is recommended for |
| `references[].defaultVariant.vrackAddon` | order.catalog.formatted.eco.AddonOption | read-only | vRack addon included in the price |
| `references[].hasPromotion` | boolean | read-only | Whether a promotion is currently applied to at least one variant |
| `references[].invoiceName` | string | read-only | Invoice name of the reference's plan in the order catalog (e.g. KS-LE-1) |
| `references[].name` | string | read-only | Commercial name of the reference |
| `references[].pricesByDatacenter` | object | read-only | Cheapest variant price per datacenter, keyed by datacenter code |
| `references[].privateBandwidth` | string | read-only | Private (vRack) bandwidth label |
| `references[].ramRange` | string | read-only | RAM sizes available across the variants |
| `references[].ramTypes` | string[] | read-only | RAM types available across the variants |
| `references[].range` | string | read-only | Commercial range of the reference |
| `references[].storageRange` | string | read-only | Storage sizes available across the variants |
| `references[].storageTypes` | string[] | read-only | Storage types available across the variants |
| `references[].variantCount` | integer | read-only | Number of variants of the reference |
| `references[].variants` | order.catalog.formatted.eco.ServerVariant[] | read-only | Variants of the reference. Absent when exclude=variants |
| `references[].variants[].availability` | order.catalog.formatted.eco.AvailabilityEnum | read-only | Best availability of the server across its datacenters; absent without availability data — one of `available`, `comingSoon`, `unavailable` |
| `references[].variants[].availabilityByDatacenter` | object | read-only | Availability of the server in each datacenter |
| `references[].variants[].bandwidth` | string | read-only | Public bandwidth label |
| `references[].variants[].bandwidthAddon` | order.catalog.formatted.eco.AddonOption | read-only | Bandwidth addon included in the price |
| `references[].variants[].bandwidthMbps` | integer | read-only | Public bandwidth, in Mbps |
| `references[].variants[].catalogDefaults` | order.catalog.formatted.eco.CatalogDefaults | read-only | Default memory and storage of the reference in the catalog |
| `references[].variants[].cpu` | string | read-only | CPU description, localized |
| `references[].variants[].cpuDetails` | order.catalog.formatted.eco.CPUDetails | read-only | Structured CPU characteristics |
| `references[].variants[].datacenters` | string[] | read-only | Datacenters where the server is available |
| `references[].variants[].hasPromotion` | boolean | read-only | Whether a promotion is currently applied to this server |
| `references[].variants[].invoiceName` | string | read-only | Invoice name of the server's plan in the order catalog (e.g. KS-LE-1) |
| `references[].variants[].name` | string | read-only | Commercial name of the server |
| `references[].variants[].planCode` | string | read-only | Plan code of the server in the order catalog |
| `references[].variants[].price` | order.catalog.formatted.eco.ServerPrice | read-only | Default price of the server |
| `references[].variants[].priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `references[].variants[].priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `references[].variants[].pricesByDatacenter` | object | read-only | Price of the server per datacenter, keyed by datacenter code |
| `references[].variants[].privateBandwidth` | string | read-only | Private (vRack) bandwidth label |
| `references[].variants[].privateBandwidthMbps` | integer | read-only | Private (vRack) bandwidth, in Mbps |
| `references[].variants[].ram` | order.catalog.formatted.eco.AddonOption | read-only | RAM configuration of the server |
| `references[].variants[].ramDetails` | order.catalog.formatted.eco.RAMDetails | read-only | Structured RAM characteristics |
| `references[].variants[].range` | string | read-only | Commercial range of the server |
| `references[].variants[].storage` | order.catalog.formatted.eco.AddonOption | read-only | Storage configuration of the server |
| `references[].variants[].storageDetails` | order.catalog.formatted.eco.StorageDetails | read-only | Structured storage characteristics |
| `references[].variants[].systemStorage` | order.catalog.formatted.eco.AddonOption | read-only | System storage of the server, when distinct from the data storage |
| `references[].variants[].useCases` | string[] | read-only | Use cases the server is recommended for |
| `references[].variants[].vrackAddon` | order.catalog.formatted.eco.AddonOption | read-only | vRack addon included in the price |
| `servers` | order.catalog.formatted.eco.ServerVariant[] | read-only | Servers of this page. Absent when groupBy=reference |
| `servers[].availability` | order.catalog.formatted.eco.AvailabilityEnum | read-only | Best availability of the server across its datacenters; absent without availability data — one of `available`, `comingSoon`, `unavailable` |
| `servers[].availabilityByDatacenter` | object | read-only | Availability of the server in each datacenter |
| `servers[].bandwidth` | string | read-only | Public bandwidth label |
| `servers[].bandwidthAddon` | order.catalog.formatted.eco.AddonOption | read-only | Bandwidth addon included in the price |
| `servers[].bandwidthAddon.name` | string | read-only | Label of the option |
| `servers[].bandwidthAddon.planCode` | string | read-only | Plan code of the option in the order catalog |
| `servers[].bandwidthAddon.price` | integer | read-only | Monthly price of the option in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].bandwidthAddon.product` | string | read-only | Product name of the option in the order catalog |
| `servers[].bandwidthMbps` | integer | read-only | Public bandwidth, in Mbps |
| `servers[].catalogDefaults` | order.catalog.formatted.eco.CatalogDefaults | read-only | Default memory and storage of the reference in the catalog |
| `servers[].catalogDefaults.defaultMemory` | string | read-only | Default memory option plan code |
| `servers[].catalogDefaults.defaultStorage` | string | read-only | Default storage option plan code |
| `servers[].cpu` | string | read-only | CPU description, localized |
| `servers[].cpuDetails` | order.catalog.formatted.eco.CPUDetails | read-only | Structured CPU characteristics |
| `servers[].cpuDetails.boost` | number | read-only | Boost frequency, in GHz |
| `servers[].cpuDetails.brand` | string | read-only | CPU brand (e.g. Intel, AMD) |
| `servers[].cpuDetails.cores` | integer | read-only | Number of cores |
| `servers[].cpuDetails.frequency` | number | read-only | Base frequency, in GHz |
| `servers[].cpuDetails.model` | string | read-only | CPU model |
| `servers[].cpuDetails.number` | integer | read-only | Number of CPUs |
| `servers[].cpuDetails.score` | integer | read-only | CPU benchmark score |
| `servers[].cpuDetails.threads` | integer | read-only | Number of threads |
| `servers[].datacenters` | string[] | read-only | Datacenters where the server is available |
| `servers[].hasPromotion` | boolean | read-only | Whether a promotion is currently applied to this server |
| `servers[].invoiceName` | string | read-only | Invoice name of the server's plan in the order catalog (e.g. KS-LE-1) |
| `servers[].name` | string | read-only | Commercial name of the server |
| `servers[].planCode` | string | read-only | Plan code of the server in the order catalog |
| `servers[].price` | order.catalog.formatted.eco.ServerPrice | read-only | Default price of the server |
| `servers[].price.currency` | string | read-only | Currency of the prices |
| `servers[].price.formatted` | string | read-only | Monthly price formatted with the subsidiary currency, excl. tax |
| `servers[].price.formattedSetup` | string | read-only | Setup fee formatted with the subsidiary currency, excl. tax |
| `servers[].price.formattedSetupVat` | string | read-only | Setup fee formatted with the subsidiary currency, incl. tax |
| `servers[].price.formattedVat` | string | read-only | Monthly price formatted with the subsidiary currency, incl. tax |
| `servers[].price.monthly` | integer | read-only | Monthly price in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].price.monthlyVat` | integer | read-only | Monthly price in microcents (1/100 000 000 of a currency unit), incl. tax |
| `servers[].price.planCode` | string | read-only | Plan code the price applies to |
| `servers[].price.setup` | integer | read-only | Setup fee in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].price.setupPromotion` | order.catalog.formatted.eco.SetupPromotion | read-only | Promotion currently applied to the setup fee |
| `servers[].priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `servers[].priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `servers[].pricesByDatacenter` | object | read-only | Price of the server per datacenter, keyed by datacenter code |
| `servers[].privateBandwidth` | string | read-only | Private (vRack) bandwidth label |
| `servers[].privateBandwidthMbps` | integer | read-only | Private (vRack) bandwidth, in Mbps |
| `servers[].ram` | order.catalog.formatted.eco.AddonOption | read-only | RAM configuration of the server |
| `servers[].ram.name` | string | read-only | Label of the option |
| `servers[].ram.planCode` | string | read-only | Plan code of the option in the order catalog |
| `servers[].ram.price` | integer | read-only | Monthly price of the option in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].ram.product` | string | read-only | Product name of the option in the order catalog |
| `servers[].ramDetails` | order.catalog.formatted.eco.RAMDetails | read-only | Structured RAM characteristics |
| `servers[].ramDetails.sizeGB` | integer | read-only | RAM size, in GB |
| `servers[].ramDetails.type` | string | read-only | RAM type (e.g. DDR4, DDR5 ECC) |
| `servers[].range` | string | read-only | Commercial range of the server |
| `servers[].storage` | order.catalog.formatted.eco.AddonOption | read-only | Storage configuration of the server |
| `servers[].storage.name` | string | read-only | Label of the option |
| `servers[].storage.planCode` | string | read-only | Plan code of the option in the order catalog |
| `servers[].storage.price` | integer | read-only | Monthly price of the option in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].storage.product` | string | read-only | Product name of the option in the order catalog |
| `servers[].storageDetails` | order.catalog.formatted.eco.StorageDetails | read-only | Structured storage characteristics |
| `servers[].storageDetails.totalGB` | number | read-only | Total storage size, in GB |
| `servers[].storageDetails.type` | string | read-only | Storage type (e.g. SSD NVMe, HDD SATA) |
| `servers[].systemStorage` | order.catalog.formatted.eco.AddonOption | read-only | System storage of the server, when distinct from the data storage |
| `servers[].systemStorage.name` | string | read-only | Label of the option |
| `servers[].systemStorage.planCode` | string | read-only | Plan code of the option in the order catalog |
| `servers[].systemStorage.price` | integer | read-only | Monthly price of the option in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].systemStorage.product` | string | read-only | Product name of the option in the order catalog |
| `servers[].useCases` | string[] | read-only | Use cases the server is recommended for |
| `servers[].vrackAddon` | order.catalog.formatted.eco.AddonOption | read-only | vRack addon included in the price |
| `servers[].vrackAddon.name` | string | read-only | Label of the option |
| `servers[].vrackAddon.planCode` | string | read-only | Plan code of the option in the order catalog |
| `servers[].vrackAddon.price` | integer | read-only | Monthly price of the option in microcents (1/100 000 000 of a currency unit), excl. tax |
| `servers[].vrackAddon.product` | string | read-only | Product name of the option in the order catalog |
| `total` | integer | read-only | Total number of servers (or references when groupBy=reference) matching the filters |

```json
{
  "count": 0,
  "display": {
    "pricePrefix": "string",
    "taxMode": "both",
    "unitSeparator": "string",
    "vatWord": "string"
  },
  "facets": {
    "coreThreads": [
      {
        "cores": 0,
        "threads": 0
      }
    ],
    "cpuBrands": [
      "string"
    ],
    "frequencies": [
      0
    ],
    "priceMax": 0,
    "priceMin": 0,
    "ramSizesGB": [
      0
    ],
    "storageSizesGB": [
      0
    ],
    "storageTypes": [
      "string"
    ],
    "technical": {
      "ddosLevels": [
        "string"
      ],
      "diskCount": {
        "max": 0,
        "min": 0
      },
      "hasDualPowerSupply": true,
      "hasHotSwapDisks": true,
      "sla": {
        "max": 0,
        "min": 0
      },
      "storageInterfaces": [
        "string"
      ],
      "storageTechnologies": [
        "string"
      ]
    }
  },
  "pagination": [
    0
  ],
  "references": [
    {
      "availability": "available",
      "availabilityFqns": [
        {
          "memory": "string",
          "planCode": "string",
          "storage": "string",
          "systemStorage": "string"
        }
      ],
      "bandwidth": "string",
      "basePlanCode": "string",
      "cpu": "string",
      "cpuDetails": {
        "boost": 0,
        "brand": "string",
        "cores": 0,
        "frequency": 0,
        "model": "string",
        "number": 0,
        "score": 0,
        "threads": 0
      },
      "datacenters": [
        "string"
      ],
      "defaultVariant": {
        "availability": "available",
        "availabilityByDatacenter": {
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/eco" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/eco")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/eco");

print_r($result);
?>
```

## Retrieve information of IP addresses catalog

`GET /1.0/order/catalog/formatted/ip`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-ip

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/ip" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/ip")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/ip");

print_r($result);
?>
```

## Retrieve information of HYCU licenses catalog

`GET /1.0/order/catalog/formatted/licenseHycu`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-licensehycu

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/licenseHycu" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/licenseHycu")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/licenseHycu");

print_r($result);
?>
```

## Retrieve information of Plesk licenses catalog

`GET /1.0/order/catalog/formatted/licensePlesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-licenseplesk

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/licensePlesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/licensePlesk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/licensePlesk");

print_r($result);
?>
```

## Retrieve information of SqlServer licenses catalog

`GET /1.0/order/catalog/formatted/licenseSqlServer`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-licensesqlserver

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/licenseSqlServer" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/licenseSqlServer")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/licenseSqlServer");

print_r($result);
?>
```

## Retrieve information of Windows licenses catalog

`GET /1.0/order/catalog/formatted/licenseWindows`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-licensewindows

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/licenseWindows" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/licenseWindows")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/licenseWindows");

print_r($result);
?>
```

## Retrieve information of cPanel licenses catalog

`GET /1.0/order/catalog/formatted/licensecPanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-licensecpanel

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/licensecPanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/licensecPanel")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/licensecPanel");

print_r($result);
?>
```

## Retrieve information of Logs Data Platform catalog

`GET /1.0/order/catalog/formatted/logs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-logs

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/logs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/logs")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/logs");

print_r($result);
?>
```

## Retrieve information of Dedicated Cloud catalog

`GET /1.0/order/catalog/formatted/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privatecloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.pcc.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `commercialRanges` | order.catalog.pcc.CommercialRange[] |  | Describes Commercial Ranges of a Dedicated Cloud |
| `commercialRanges[].datacenters` | order.catalog.pcc.Datacenter[] |  | Describes Dedicated Cloud Datacenters |
| `commercialRanges[].datacenters[].cityCode` | string |  | City Code of a Datacenter |
| `commercialRanges[].datacenters[].cityName` | string |  | City Name of a Datacenter |
| `commercialRanges[].datacenters[].countryCode` | nichandle.CountryEnum |  | Country Code of a Datacenter — one of `AC`, `AD`, `AE`, `AF`, `AG`, `AI`, `AL`, `AM`, `AO`, `AQ`, `AR`, `AS`, … |
| `commercialRanges[].datacenters[].defaultHypervisor` | string |  | Name of the default hypervisor of a Datacenter |
| `commercialRanges[].datacenters[].hypervisors` | order.catalog.pcc.Hypervisor[] |  | Describes Dedicated Cloud Hypervisors |
| `commercialRanges[].datacenters[].mainPlan` | string |  | Main plan code to use for a Datacenter |
| `commercialRanges[].datacenters[].managementFees` | order.catalog.pcc.managementFees |  | Describes the management cost of a range of Dedicated Cloud |
| `commercialRanges[].datacenters[].orderable` | boolean |  | Describes if a Dedicated Cloud can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableOptions` | boolean |  | Describes if options can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableResources` | boolean |  | Describes if resources can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].storagesNoPack` | string[] |  | List of filers add in case of a No Pack order |
| `commercialRanges[].datacenters[].zoneFullName` | string |  | Zone Code of a datacenter |
| `commercialRanges[].datacenters[].zoneName` | string |  | Zone Name of a datacenter |
| `commercialRanges[].defaultZone` | string |  | Default datacenter of the commercial range |
| `commercialRanges[].name` | string |  | Name of the commercial range |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `plans` | order.catalog.ProductPlan[] |  | Commercial offers |
| `plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plans[].addonsFamily[].addons` | order.catalog.AddonOffer[] |  | List of the addons of this family |
| `plans[].addonsFamily[].exclusive` | boolean |  | Whether you can only have one instance of this addon family (xor) |
| `plans[].addonsFamily[].family` | string |  | Addon family name |
| `plans[].addonsFamily[].mandatory` | boolean |  | Indicated if addon family must be contracted |
| `plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plans[].details.metadatas` | complexType.SafeKeyValue_string[] |  | List of the metadatas attached |
| `plans[].details.pricings` | order.catalog.PricingDefault |  | Describe default pricings |
| `plans[].details.product` | order.catalog.Product |  | Information about the product |
| `plans[].invoiceName` | string |  | Name that appears on invoice |
| `plans[].planCode` | string |  | Plan code identifier |
| `plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "commercialRanges": [
    {
      "datacenters": [
        {
          "cityCode": "string",
          "cityName": "string",
          "countryCode": "AC",
          "defaultHypervisor": "string",
          "hypervisors": [
            {
              "hosts": null,
              "name": null,
              "options": null,
              "orderable": null,
              "servicePacks": null,
              "shortName": null,
              "storages": null,
              "type": null
            }
          ],
          "mainPlan": "string",
          "managementFees": {
            "planCode": "string",
            "upgradableTo": [
              null
            ]
          },
          "orderable": true,
          "orderableOptions": true,
          "orderableResources": true,
          "storagesNoPack": [
            "string"
          ],
          "zoneFullName": "string",
          "zoneName": "string"
        }
      ],
      "defaultZone": "string",
      "name": "string"
    }
  ],
  "merchantCode": "string",
  "plans": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "invoiceName": null,
              "plan": null
            }
          ],
          "exclusive": true,
          "family": "string",
          "mandatory": true
        }
      ],
      "consumptionBillingStrategy": "string",
      "details": {
        "metadatas": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "pricings": {
          "default": [
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloud");

print_r($result);
?>
```

## Retrieve information of Dedicated Cloud CDI catalog

`GET /1.0/order/catalog/formatted/privateCloudCDI`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privatecloudcdi

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2019-08-28, removed on 2019-09-28.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.privateCloud.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `defaultHypervisor` | string |  | Default hypervisor for this catalog |
| `defaultZone` | string |  | Default datacenter for this catalog |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `options` | order.catalog.privateCloud.CapabilitiesListing |  | Describe all capabilities of different types of service |
| `options.2016v1` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v1 type of service |
| `options.2016v1.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v1.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v1.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v1.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v1.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v2` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v2 type of service |
| `options.2016v2.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v2.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v2.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v2.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v2.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v3` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v3 type of service |
| `options.2016v3.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v3.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v3.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v3.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v3.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v4` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v4 type of service |
| `options.2016v4.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v4.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v4.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v4.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v4.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v5` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v5 type of service |
| `options.2016v5.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v5.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v5.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v5.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v5.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v6` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v6 type of service |
| `options.2016v6.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v6.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v6.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v6.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v6.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v7` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v7 type of service |
| `options.2016v7.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v7.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v7.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v7.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v7.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.default` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of default type of service |
| `options.default.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.default.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.default.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.default.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.default.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `zones` | order.catalog.privateCloud.ZonesListing |  | Zone definitions per datacenters |
| `zones.bhs` | order.catalog.privateCloud.Zone |  | Zone definition for BHS datacenter |
| `zones.bhs.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.bhs.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.bhs.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.bhs.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.bhs.internalName` | string |  | Internal name of the zone |
| `zones.bhs.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.eri` | order.catalog.privateCloud.Zone |  | Zone definition for ERI datacenter |
| `zones.eri.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.eri.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.eri.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.eri.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.eri.internalName` | string |  | Internal name of the zone |
| `zones.eri.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.lim` | order.catalog.privateCloud.Zone |  | Zone definition for LIM datacenter |
| `zones.lim.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.lim.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.lim.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.lim.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.lim.internalName` | string |  | Internal name of the zone |
| `zones.lim.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.rbx` | order.catalog.privateCloud.Zone |  | Zone definition for RBX datacenter |
| `zones.rbx.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.rbx.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.rbx.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.rbx.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.rbx.internalName` | string |  | Internal name of the zone |
| `zones.rbx.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.sbg` | order.catalog.privateCloud.Zone |  | Zone definition for SBG datacenter |
| `zones.sbg.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.sbg.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.sbg.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.sbg.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.sbg.internalName` | string |  | Internal name of the zone |
| `zones.sbg.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.waw` | order.catalog.privateCloud.Zone |  | Zone definition for WAW datacenter |
| `zones.waw.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.waw.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.waw.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.waw.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.waw.internalName` | string |  | Internal name of the zone |
| `zones.waw.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "defaultHypervisor": "string",
  "defaultZone": "string",
  "merchantCode": "string",
  "options": {
    "2016v1": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v2": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v3": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v4": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v5": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v6": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v7": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "default": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    }
  },
  "zones": {
    "bhs": {
      "cityName": "string",
      "country": "string",
      "defaultHypervisor": "string",
      "defaultVersion": "string",
      "internalName": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloudCDI" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloudCDI")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloudCDI");

print_r($result);
?>
```

## Retrieve information of Dedicated Cloud catalog

`GET /1.0/order/catalog/formatted/privateCloudDC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privateclouddc

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2019-08-28, removed on 2019-09-28.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.privateCloud.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `defaultHypervisor` | string |  | Default hypervisor for this catalog |
| `defaultZone` | string |  | Default datacenter for this catalog |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `options` | order.catalog.privateCloud.CapabilitiesListing |  | Describe all capabilities of different types of service |
| `options.2016v1` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v1 type of service |
| `options.2016v1.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v1.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v1.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v1.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v1.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v2` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v2 type of service |
| `options.2016v2.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v2.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v2.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v2.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v2.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v3` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v3 type of service |
| `options.2016v3.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v3.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v3.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v3.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v3.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v4` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v4 type of service |
| `options.2016v4.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v4.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v4.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v4.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v4.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v5` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v5 type of service |
| `options.2016v5.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v5.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v5.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v5.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v5.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v6` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v6 type of service |
| `options.2016v6.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v6.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v6.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v6.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v6.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v7` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v7 type of service |
| `options.2016v7.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v7.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v7.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v7.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v7.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.default` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of default type of service |
| `options.default.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.default.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.default.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.default.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.default.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `zones` | order.catalog.privateCloud.ZonesListing |  | Zone definitions per datacenters |
| `zones.bhs` | order.catalog.privateCloud.Zone |  | Zone definition for BHS datacenter |
| `zones.bhs.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.bhs.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.bhs.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.bhs.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.bhs.internalName` | string |  | Internal name of the zone |
| `zones.bhs.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.eri` | order.catalog.privateCloud.Zone |  | Zone definition for ERI datacenter |
| `zones.eri.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.eri.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.eri.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.eri.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.eri.internalName` | string |  | Internal name of the zone |
| `zones.eri.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.lim` | order.catalog.privateCloud.Zone |  | Zone definition for LIM datacenter |
| `zones.lim.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.lim.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.lim.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.lim.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.lim.internalName` | string |  | Internal name of the zone |
| `zones.lim.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.rbx` | order.catalog.privateCloud.Zone |  | Zone definition for RBX datacenter |
| `zones.rbx.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.rbx.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.rbx.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.rbx.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.rbx.internalName` | string |  | Internal name of the zone |
| `zones.rbx.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.sbg` | order.catalog.privateCloud.Zone |  | Zone definition for SBG datacenter |
| `zones.sbg.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.sbg.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.sbg.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.sbg.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.sbg.internalName` | string |  | Internal name of the zone |
| `zones.sbg.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.waw` | order.catalog.privateCloud.Zone |  | Zone definition for WAW datacenter |
| `zones.waw.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.waw.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.waw.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.waw.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.waw.internalName` | string |  | Internal name of the zone |
| `zones.waw.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "defaultHypervisor": "string",
  "defaultZone": "string",
  "merchantCode": "string",
  "options": {
    "2016v1": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v2": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v3": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v4": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v5": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v6": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v7": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "default": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    }
  },
  "zones": {
    "bhs": {
      "cityName": "string",
      "country": "string",
      "defaultHypervisor": "string",
      "defaultVersion": "string",
      "internalName": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloudDC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloudDC")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloudDC");

print_r($result);
?>
```

## Retrieve information of Hosted Dedicated Cloud Enterprise catalog

`GET /1.0/order/catalog/formatted/privateCloudEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privatecloudenterprise

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/catalog/public/privateCloudEnterprise` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.pcc.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `commercialRanges` | order.catalog.pcc.CommercialRange[] |  | Describes Commercial Ranges of a Dedicated Cloud |
| `commercialRanges[].datacenters` | order.catalog.pcc.Datacenter[] |  | Describes Dedicated Cloud Datacenters |
| `commercialRanges[].datacenters[].cityCode` | string |  | City Code of a Datacenter |
| `commercialRanges[].datacenters[].cityName` | string |  | City Name of a Datacenter |
| `commercialRanges[].datacenters[].countryCode` | nichandle.CountryEnum |  | Country Code of a Datacenter — one of `AC`, `AD`, `AE`, `AF`, `AG`, `AI`, `AL`, `AM`, `AO`, `AQ`, `AR`, `AS`, … |
| `commercialRanges[].datacenters[].defaultHypervisor` | string |  | Name of the default hypervisor of a Datacenter |
| `commercialRanges[].datacenters[].hypervisors` | order.catalog.pcc.Hypervisor[] |  | Describes Dedicated Cloud Hypervisors |
| `commercialRanges[].datacenters[].mainPlan` | string |  | Main plan code to use for a Datacenter |
| `commercialRanges[].datacenters[].managementFees` | order.catalog.pcc.managementFees |  | Describes the management cost of a range of Dedicated Cloud |
| `commercialRanges[].datacenters[].orderable` | boolean |  | Describes if a Dedicated Cloud can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableOptions` | boolean |  | Describes if options can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableResources` | boolean |  | Describes if resources can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].storagesNoPack` | string[] |  | List of filers add in case of a No Pack order |
| `commercialRanges[].datacenters[].zoneFullName` | string |  | Zone Code of a datacenter |
| `commercialRanges[].datacenters[].zoneName` | string |  | Zone Name of a datacenter |
| `commercialRanges[].defaultZone` | string |  | Default datacenter of the commercial range |
| `commercialRanges[].name` | string |  | Name of the commercial range |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `plans` | order.catalog.ProductPlan[] |  | Commercial offers |
| `plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plans[].addonsFamily[].addons` | order.catalog.AddonOffer[] |  | List of the addons of this family |
| `plans[].addonsFamily[].exclusive` | boolean |  | Whether you can only have one instance of this addon family (xor) |
| `plans[].addonsFamily[].family` | string |  | Addon family name |
| `plans[].addonsFamily[].mandatory` | boolean |  | Indicated if addon family must be contracted |
| `plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plans[].details.metadatas` | complexType.SafeKeyValue_string[] |  | List of the metadatas attached |
| `plans[].details.pricings` | order.catalog.PricingDefault |  | Describe default pricings |
| `plans[].details.product` | order.catalog.Product |  | Information about the product |
| `plans[].invoiceName` | string |  | Name that appears on invoice |
| `plans[].planCode` | string |  | Plan code identifier |
| `plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "commercialRanges": [
    {
      "datacenters": [
        {
          "cityCode": "string",
          "cityName": "string",
          "countryCode": "AC",
          "defaultHypervisor": "string",
          "hypervisors": [
            {
              "hosts": null,
              "name": null,
              "options": null,
              "orderable": null,
              "servicePacks": null,
              "shortName": null,
              "storages": null,
              "type": null
            }
          ],
          "mainPlan": "string",
          "managementFees": {
            "planCode": "string",
            "upgradableTo": [
              null
            ]
          },
          "orderable": true,
          "orderableOptions": true,
          "orderableResources": true,
          "storagesNoPack": [
            "string"
          ],
          "zoneFullName": "string",
          "zoneName": "string"
        }
      ],
      "defaultZone": "string",
      "name": "string"
    }
  ],
  "merchantCode": "string",
  "plans": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "invoiceName": null,
              "plan": null
            }
          ],
          "exclusive": true,
          "family": "string",
          "mandatory": true
        }
      ],
      "consumptionBillingStrategy": "string",
      "details": {
        "metadatas": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "pricings": {
          "default": [
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloudEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloudEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloudEnterprise");

print_r($result);
?>
```

## Retrieve information of Dedicated Cloud Reseller catalog

`GET /1.0/order/catalog/formatted/privateCloudReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privatecloudreseller

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/formatted/privateCloudReseller/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.pcc.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `commercialRanges` | order.catalog.pcc.CommercialRange[] |  | Describes Commercial Ranges of a Dedicated Cloud |
| `commercialRanges[].datacenters` | order.catalog.pcc.Datacenter[] |  | Describes Dedicated Cloud Datacenters |
| `commercialRanges[].datacenters[].cityCode` | string |  | City Code of a Datacenter |
| `commercialRanges[].datacenters[].cityName` | string |  | City Name of a Datacenter |
| `commercialRanges[].datacenters[].countryCode` | nichandle.CountryEnum |  | Country Code of a Datacenter — one of `AC`, `AD`, `AE`, `AF`, `AG`, `AI`, `AL`, `AM`, `AO`, `AQ`, `AR`, `AS`, … |
| `commercialRanges[].datacenters[].defaultHypervisor` | string |  | Name of the default hypervisor of a Datacenter |
| `commercialRanges[].datacenters[].hypervisors` | order.catalog.pcc.Hypervisor[] |  | Describes Dedicated Cloud Hypervisors |
| `commercialRanges[].datacenters[].mainPlan` | string |  | Main plan code to use for a Datacenter |
| `commercialRanges[].datacenters[].managementFees` | order.catalog.pcc.managementFees |  | Describes the management cost of a range of Dedicated Cloud |
| `commercialRanges[].datacenters[].orderable` | boolean |  | Describes if a Dedicated Cloud can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableOptions` | boolean |  | Describes if options can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableResources` | boolean |  | Describes if resources can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].storagesNoPack` | string[] |  | List of filers add in case of a No Pack order |
| `commercialRanges[].datacenters[].zoneFullName` | string |  | Zone Code of a datacenter |
| `commercialRanges[].datacenters[].zoneName` | string |  | Zone Name of a datacenter |
| `commercialRanges[].defaultZone` | string |  | Default datacenter of the commercial range |
| `commercialRanges[].name` | string |  | Name of the commercial range |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `plans` | order.catalog.ProductPlan[] |  | Commercial offers |
| `plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plans[].addonsFamily[].addons` | order.catalog.AddonOffer[] |  | List of the addons of this family |
| `plans[].addonsFamily[].exclusive` | boolean |  | Whether you can only have one instance of this addon family (xor) |
| `plans[].addonsFamily[].family` | string |  | Addon family name |
| `plans[].addonsFamily[].mandatory` | boolean |  | Indicated if addon family must be contracted |
| `plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plans[].details.metadatas` | complexType.SafeKeyValue_string[] |  | List of the metadatas attached |
| `plans[].details.pricings` | order.catalog.PricingDefault |  | Describe default pricings |
| `plans[].details.product` | order.catalog.Product |  | Information about the product |
| `plans[].invoiceName` | string |  | Name that appears on invoice |
| `plans[].planCode` | string |  | Plan code identifier |
| `plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "commercialRanges": [
    {
      "datacenters": [
        {
          "cityCode": "string",
          "cityName": "string",
          "countryCode": "AC",
          "defaultHypervisor": "string",
          "hypervisors": [
            {
              "hosts": null,
              "name": null,
              "options": null,
              "orderable": null,
              "servicePacks": null,
              "shortName": null,
              "storages": null,
              "type": null
            }
          ],
          "mainPlan": "string",
          "managementFees": {
            "planCode": "string",
            "upgradableTo": [
              null
            ]
          },
          "orderable": true,
          "orderableOptions": true,
          "orderableResources": true,
          "storagesNoPack": [
            "string"
          ],
          "zoneFullName": "string",
          "zoneName": "string"
        }
      ],
      "defaultZone": "string",
      "name": "string"
    }
  ],
  "merchantCode": "string",
  "plans": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "invoiceName": null,
              "plan": null
            }
          ],
          "exclusive": true,
          "family": "string",
          "mandatory": true
        }
      ],
      "consumptionBillingStrategy": "string",
      "details": {
        "metadatas": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "pricings": {
          "default": [
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloudReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloudReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloudReseller");

print_r($result);
?>
```

## Retrieve information of Dedicated Cloud Reseller Enterprise catalog

`GET /1.0/order/catalog/formatted/privateCloudResellerEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privatecloudresellerenterprise

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/formatted/privateCloudResellerEnterprise/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.pcc.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `commercialRanges` | order.catalog.pcc.CommercialRange[] |  | Describes Commercial Ranges of a Dedicated Cloud |
| `commercialRanges[].datacenters` | order.catalog.pcc.Datacenter[] |  | Describes Dedicated Cloud Datacenters |
| `commercialRanges[].datacenters[].cityCode` | string |  | City Code of a Datacenter |
| `commercialRanges[].datacenters[].cityName` | string |  | City Name of a Datacenter |
| `commercialRanges[].datacenters[].countryCode` | nichandle.CountryEnum |  | Country Code of a Datacenter — one of `AC`, `AD`, `AE`, `AF`, `AG`, `AI`, `AL`, `AM`, `AO`, `AQ`, `AR`, `AS`, … |
| `commercialRanges[].datacenters[].defaultHypervisor` | string |  | Name of the default hypervisor of a Datacenter |
| `commercialRanges[].datacenters[].hypervisors` | order.catalog.pcc.Hypervisor[] |  | Describes Dedicated Cloud Hypervisors |
| `commercialRanges[].datacenters[].mainPlan` | string |  | Main plan code to use for a Datacenter |
| `commercialRanges[].datacenters[].managementFees` | order.catalog.pcc.managementFees |  | Describes the management cost of a range of Dedicated Cloud |
| `commercialRanges[].datacenters[].orderable` | boolean |  | Describes if a Dedicated Cloud can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableOptions` | boolean |  | Describes if options can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableResources` | boolean |  | Describes if resources can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].storagesNoPack` | string[] |  | List of filers add in case of a No Pack order |
| `commercialRanges[].datacenters[].zoneFullName` | string |  | Zone Code of a datacenter |
| `commercialRanges[].datacenters[].zoneName` | string |  | Zone Name of a datacenter |
| `commercialRanges[].defaultZone` | string |  | Default datacenter of the commercial range |
| `commercialRanges[].name` | string |  | Name of the commercial range |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `plans` | order.catalog.ProductPlan[] |  | Commercial offers |
| `plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plans[].addonsFamily[].addons` | order.catalog.AddonOffer[] |  | List of the addons of this family |
| `plans[].addonsFamily[].exclusive` | boolean |  | Whether you can only have one instance of this addon family (xor) |
| `plans[].addonsFamily[].family` | string |  | Addon family name |
| `plans[].addonsFamily[].mandatory` | boolean |  | Indicated if addon family must be contracted |
| `plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plans[].details.metadatas` | complexType.SafeKeyValue_string[] |  | List of the metadatas attached |
| `plans[].details.pricings` | order.catalog.PricingDefault |  | Describe default pricings |
| `plans[].details.product` | order.catalog.Product |  | Information about the product |
| `plans[].invoiceName` | string |  | Name that appears on invoice |
| `plans[].planCode` | string |  | Plan code identifier |
| `plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "commercialRanges": [
    {
      "datacenters": [
        {
          "cityCode": "string",
          "cityName": "string",
          "countryCode": "AC",
          "defaultHypervisor": "string",
          "hypervisors": [
            {
              "hosts": null,
              "name": null,
              "options": null,
              "orderable": null,
              "servicePacks": null,
              "shortName": null,
              "storages": null,
              "type": null
            }
          ],
          "mainPlan": "string",
          "managementFees": {
            "planCode": "string",
            "upgradableTo": [
              null
            ]
          },
          "orderable": true,
          "orderableOptions": true,
          "orderableResources": true,
          "storagesNoPack": [
            "string"
          ],
          "zoneFullName": "string",
          "zoneName": "string"
        }
      ],
      "defaultZone": "string",
      "name": "string"
    }
  ],
  "merchantCode": "string",
  "plans": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "invoiceName": null,
              "plan": null
            }
          ],
          "exclusive": true,
          "family": "string",
          "mandatory": true
        }
      ],
      "consumptionBillingStrategy": "string",
      "details": {
        "metadatas": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "pricings": {
          "default": [
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloudResellerEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloudResellerEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloudResellerEnterprise");

print_r($result);
?>
```

## Retrieve information of Dedicated Cloud SDDC catalog

`GET /1.0/order/catalog/formatted/privateCloudSDDC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-privatecloudsddc

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2019-08-28, removed on 2019-09-28.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.privateCloud.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `defaultHypervisor` | string |  | Default hypervisor for this catalog |
| `defaultZone` | string |  | Default datacenter for this catalog |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `options` | order.catalog.privateCloud.CapabilitiesListing |  | Describe all capabilities of different types of service |
| `options.2016v1` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v1 type of service |
| `options.2016v1.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v1.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v1.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v1.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v1.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v2` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v2 type of service |
| `options.2016v2.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v2.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v2.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v2.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v2.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v3` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v3 type of service |
| `options.2016v3.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v3.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v3.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v3.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v3.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v4` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v4 type of service |
| `options.2016v4.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v4.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v4.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v4.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v4.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v5` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v5 type of service |
| `options.2016v5.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v5.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v5.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v5.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v5.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v6` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v6 type of service |
| `options.2016v6.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v6.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v6.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v6.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v6.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.2016v7` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of 2016v7 type of service |
| `options.2016v7.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.2016v7.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.2016v7.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.2016v7.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.2016v7.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `options.default` | order.catalog.privateCloud.Capabilities |  | Describe capabilities of default type of service |
| `options.default.hds` | boolean |  | Define if HDS is part of this type of service |
| `options.default.hipaa` | boolean |  | Define if HIPAA is part of this type of service |
| `options.default.nsx` | boolean |  | Define if NSX is part of this type of service |
| `options.default.pcidss` | boolean |  | Define if PCI-DSS is part of this type of service |
| `options.default.vrops` | boolean |  | Define if VROPS is part of this type of service |
| `zones` | order.catalog.privateCloud.ZonesListing |  | Zone definitions per datacenters |
| `zones.bhs` | order.catalog.privateCloud.Zone |  | Zone definition for BHS datacenter |
| `zones.bhs.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.bhs.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.bhs.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.bhs.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.bhs.internalName` | string |  | Internal name of the zone |
| `zones.bhs.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.eri` | order.catalog.privateCloud.Zone |  | Zone definition for ERI datacenter |
| `zones.eri.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.eri.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.eri.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.eri.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.eri.internalName` | string |  | Internal name of the zone |
| `zones.eri.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.lim` | order.catalog.privateCloud.Zone |  | Zone definition for LIM datacenter |
| `zones.lim.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.lim.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.lim.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.lim.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.lim.internalName` | string |  | Internal name of the zone |
| `zones.lim.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.rbx` | order.catalog.privateCloud.Zone |  | Zone definition for RBX datacenter |
| `zones.rbx.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.rbx.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.rbx.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.rbx.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.rbx.internalName` | string |  | Internal name of the zone |
| `zones.rbx.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.sbg` | order.catalog.privateCloud.Zone |  | Zone definition for SBG datacenter |
| `zones.sbg.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.sbg.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.sbg.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.sbg.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.sbg.internalName` | string |  | Internal name of the zone |
| `zones.sbg.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |
| `zones.waw` | order.catalog.privateCloud.Zone |  | Zone definition for WAW datacenter |
| `zones.waw.cityName` | string |  | City where Dedicated Cloud instance will be delivered |
| `zones.waw.country` | string |  | Country where Dedicated Cloud instance will be delivered |
| `zones.waw.defaultHypervisor` | string |  | Default hypervisor for this Dedicated Cloud zone |
| `zones.waw.defaultVersion` | string |  | Default version for this Dedicated Cloud zone |
| `zones.waw.internalName` | string |  | Internal name of the zone |
| `zones.waw.plans` | order.catalog.ProductPlan[] |  | Commercial offers on this zone |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "defaultHypervisor": "string",
  "defaultZone": "string",
  "merchantCode": "string",
  "options": {
    "2016v1": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v2": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v3": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v4": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v5": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v6": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "2016v7": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    },
    "default": {
      "hds": true,
      "hipaa": true,
      "nsx": true,
      "pcidss": true,
      "vrops": true
    }
  },
  "zones": {
    "bhs": {
      "cityName": "string",
      "country": "string",
      "defaultHypervisor": "string",
      "defaultVersion": "string",
      "internalName": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/privateCloudSDDC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/privateCloudSDDC")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/privateCloudSDDC");

print_r($result);
?>
```

## Retrieve information of Reseller catalog

`GET /1.0/order/catalog/formatted/reseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-reseller

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/reseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/reseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/reseller");

print_r($result);
?>
```

## Retrieve information of VPS catalog

`GET /1.0/order/catalog/formatted/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-vps

**Status:** Deprecated, will be removed  
**Authentication:** none (public operation)  
**Deprecated** since 2024-11-01, removed on 2025-02-01; use `/order/catalog/public/vps` instead.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Identifier of the catalog |
| `merchantCode` | string |  | OVH Subsidiary concerned by this catalog |
| `plansFamily` | order.catalog.PlansItem[] |  | List of plans of the catalog |
| `plansFamily[].family` | string |  | Family of the product |
| `plansFamily[].plans` | order.catalog.ProductPlan[] |  | List of the plans for this catalog |
| `plansFamily[].plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plansFamily[].plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plansFamily[].plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plansFamily[].plans[].invoiceName` | string |  | Name that appears on invoice |
| `plansFamily[].plans[].planCode` | string |  | Plan code identifier |
| `plansFamily[].plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "merchantCode": "string",
  "plansFamily": [
    {
      "family": "string",
      "plans": [
        {
          "addonsFamily": [
            {
              "addons": null,
              "exclusive": null,
              "family": null,
              "mandatory": null
            }
          ],
          "consumptionBillingStrategy": "string",
          "details": {
            "metadatas": [
              null
            ],
            "pricings": {
              "default": null
            },
            "product": {
              "configurations": null,
              "description": null,
              "name": null,
              "technicalDetails": null
            }
          },
          "invoiceName": "string",
          "planCode": "string",
          "pricingType": "string"
        }
      ]
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/vps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/vps");

print_r($result);
?>
```

## List the web hosting offers of the public catalog for a subsidiary

`GET /1.0/order/catalog/formatted/webHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-formatted-webhosting

**Status:** Stable production version  
**Authentication:** none (public operation)

Web hosting offers of the public catalog for a subsidiary, as the website's product cards show them: advertised monthly price, promotional first term and renewal price, every billing term, the prices per commitment (12, 24 or 48 months) with the saving on the shortest one, commercial features, technical specifications and order funnel link. Plan code filter and pagination.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `count` | query | integer |  | Number of results per page. Defaults to 25 |
| `offset` | query | integer |  | Offset of the first result returned, used with count for pagination |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | OVHcloud subsidiary targeted — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `planCodes` | query | string |  | Return only the offers with these plan codes, comma-separated (e.g. hosting-starter,hosting-perso) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.formatted.webHosting.PlanList | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `count` | integer | read-only | Number of offers in this page |
| `pagination` | integer[] | read-only | List of the available page numbers |
| `plans` | order.catalog.formatted.webHosting.Plan[] | read-only | Web hosting offers of this page |
| `plans[].brick` | string | read-only | Commercial range of the offer (e.g. Perso) |
| `plans[].currency` | order.CurrencyCodeEnum | read-only | Currency code of the prices (e.g. EUR) — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `plans[].durations` | order.catalog.formatted.webHosting.Duration[] | read-only | Commitments the offer is sold for (12, 24 or 48 months), shortest first |
| `plans[].durations[].discountPercentage` | integer | read-only | Saving on the first-period monthly price of the shortest commitment, in percent, rounded. 0 when not cheaper |
| `plans[].durations[].months` | integer | read-only | Length of the commitment in months |
| `plans[].durations[].price` | order.catalog.formatted.webHosting.FormattedPrice | read-only | Monthly price of the first period |
| `plans[].durations[].pricingMode` | string | read-only | Pricing mode of the commitment in the order catalog (default, upfront24, upfront48) |
| `plans[].durations[].regular` | order.catalog.formatted.webHosting.FormattedPrice | read-only | Monthly price before the first-period discount, to strike through when it differs from price |
| `plans[].durations[].renewal` | order.catalog.formatted.webHosting.FormattedPrice | read-only | Monthly price after the first period |
| `plans[].durations[].total` | order.catalog.formatted.webHosting.FormattedPrice | read-only | Price of the whole first period |
| `plans[].features` | order.catalog.formatted.webHosting.Feature[] | read-only | Commercial features of the offer |
| `plans[].features[].name` | string | read-only | Name of the feature |
| `plans[].features[].value` | string | read-only | Value of the feature |
| `plans[].formattedPrice` | string | read-only | Advertised monthly price formatted with the subsidiary currency, excl. tax |
| `plans[].formattedPriceVat` | string | read-only | Advertised monthly price incl. tax, worded like the subsidiary's website (e.g. soit 3,59 €) |
| `plans[].formattedSetup` | string | read-only | Setup fee formatted with the subsidiary currency, excl. tax |
| `plans[].formattedSetupVat` | string | read-only | Setup fee formatted with the subsidiary currency, incl. tax |
| `plans[].invoiceName` | string | read-only | Invoice name of the offer |
| `plans[].monthly` | integer | read-only | Advertised monthly price in microcents, excl. tax |
| `plans[].monthlyVat` | integer | read-only | Advertised monthly price in microcents, incl. tax |
| `plans[].orderLink` | string | read-only | Order funnel link of the offer, relative to the order site |
| `plans[].planCode` | string | read-only | Plan code of the offer in the order catalog |
| `plans[].pricePrefix` | string | read-only | Word the subsidiary's website puts before the advertised price (e.g. À partir de) |
| `plans[].priceUnit` | string | read-only | Label of the price unit, excl. tax |
| `plans[].priceUnitVat` | string | read-only | Label of the price unit, incl. tax |
| `plans[].prices` | order.catalog.formatted.webHosting.PriceTier[] | read-only | Billing terms of the offer: every renew pricing with its total and monthly equivalent |
| `plans[].prices[].commitment` | integer | read-only | Commitment of the term in months |
| `plans[].prices[].description` | string | read-only | Description of the pricing in the order catalog |
| `plans[].prices[].formattedMonthly` | string | read-only | Monthly equivalent formatted with the subsidiary currency, excl. tax |
| `plans[].prices[].formattedMonthlyVat` | string | read-only | Monthly equivalent formatted with the subsidiary currency, incl. tax |
| `plans[].prices[].formattedTotal` | string | read-only | Total of the term formatted with the subsidiary currency, excl. tax |
| `plans[].prices[].formattedTotalVat` | string | read-only | Total of the term formatted with the subsidiary currency, incl. tax |
| `plans[].prices[].interval` | integer | read-only | Length of the term, in intervalUnit |
| `plans[].prices[].intervalUnit` | string | read-only | Unit of the term length (e.g. month) |
| `plans[].prices[].maxQuantity` | integer | read-only | Highest quantity of the tier, absent when unbounded |
| `plans[].prices[].minQuantity` | integer | read-only | Lowest quantity of the tier |
| `plans[].prices[].mode` | string | read-only | Pricing mode in the order catalog (e.g. default, upfront24, upfront48) |
| `plans[].prices[].monthly` | integer | read-only | Monthly equivalent in microcents, excl. tax |
| `plans[].prices[].monthlyVat` | integer | read-only | Monthly equivalent in microcents, incl. tax |
| `plans[].prices[].phase` | integer | read-only | Phase within the pricing mode: 1 is the first term, 2 the renewal |
| `plans[].prices[].total` | integer | read-only | Total of the term in microcents, excl. tax |
| `plans[].prices[].totalVat` | integer | read-only | Total of the term in microcents, incl. tax |
| `plans[].product` | string | read-only | Catalog product the offer sells |
| `plans[].promotion` | order.catalog.formatted.webHosting.Promotion | read-only | Promotional first term of the default pricing mode, against its renewal |
| `plans[].promotion.discountedMonthly` | integer | read-only | Monthly price of the first term in microcents, excl. tax |
| `plans[].promotion.discountedMonthlyVat` | integer | read-only | Monthly price of the first term in microcents, incl. tax |
| `plans[].promotion.formattedDiscountedMonthly` | string | read-only | Monthly price of the first term, formatted, excl. tax |
| `plans[].promotion.formattedOriginalMonthly` | string | read-only | Monthly renewal price, formatted, excl. tax |
| `plans[].promotion.formattedTotal` | string | read-only | Price of the whole first term, formatted, excl. tax |
| `plans[].promotion.originalMonthly` | integer | read-only | Monthly renewal price in microcents, excl. tax |
| `plans[].promotion.percentage` | integer | read-only | Saving of the first term on the renewal price, in percent, rounded down |
| `plans[].promotion.total` | integer | read-only | Price of the whole first term in microcents, excl. tax |
| `plans[].renewalPrice` | order.catalog.formatted.webHosting.RenewalPrice | read-only | Monthly renewal price of the default pricing mode, when its first term is promotional |
| `plans[].renewalPrice.formatted` | string | read-only | Monthly renewal price, formatted, excl. tax |
| `plans[].renewalPrice.formattedVat` | string | read-only | Monthly renewal price, formatted, incl. tax |
| `plans[].renewalPrice.monthly` | integer | read-only | Monthly renewal price in microcents, excl. tax |
| `plans[].renewalPrice.monthlyVat` | integer | read-only | Monthly renewal price in microcents, incl. tax |
| `plans[].setup` | integer | read-only | Setup fee in microcents, excl. tax |
| `plans[].setupPromotion` | order.catalog.formatted.webHosting.SetupPromotion | read-only | Promotion on the setup fee |
| `plans[].setupPromotion.discountedSetup` | integer | read-only | Setup fee after the promotion in microcents, excl. tax |
| `plans[].setupPromotion.endDate` | string (date-time) | read-only | End date of the promotion. Null when the promotion has no end date |
| `plans[].setupPromotion.formattedDiscountedSetup` | string | read-only | Setup fee after the promotion, formatted, excl. tax |
| `plans[].setupPromotion.formattedOriginalSetup` | string | read-only | Setup fee before the promotion, formatted, excl. tax |
| `plans[].setupPromotion.originalSetup` | integer | read-only | Setup fee before the promotion in microcents, excl. tax |
| `plans[].setupPromotion.type` | order.ReductionTypeEnum | read-only | Type of the promotion: percentage takes a rate off the setup fee, forced_amount replaces the setup fee, fixed_amount takes an amount off the setup fee — one of `fixed_amount`, `forced_amount`, `percentage` |
| `plans[].setupPromotion.value` | number | read-only | Value of the promotion, read with type: the rate in percent for percentage (100 makes the setup free), the new setup fee for forced_amount, the amount taken off for fixed_amount. Both amounts in microcents, excl. tax |
| `plans[].technical` | order.catalog.formatted.webHosting.Technical | read-only | Technical specifications of the offer's product |
| `plans[].technical.bandwidth` | order.catalog.formatted.webHosting.TechnicalBandwidth | read-only | Public bandwidth |
| `plans[].technical.cpu` | order.catalog.formatted.webHosting.TechnicalCPU | read-only | Processor |
| `plans[].technical.gpu` | order.catalog.formatted.webHosting.TechnicalGPU | read-only | Graphics processor |
| `plans[].technical.memory` | order.catalog.formatted.webHosting.TechnicalMemory | read-only | Memory |
| `plans[].technical.os` | order.catalog.formatted.webHosting.TechnicalOS | read-only | Operating system |
| `plans[].technical.server` | order.catalog.formatted.webHosting.TechnicalServer | read-only | Server |
| `plans[].technical.storage` | order.catalog.formatted.webHosting.TechnicalStorage | read-only | Storage |
| `plans[].technical.vrack` | order.catalog.formatted.webHosting.TechnicalBandwidth | read-only | Private bandwidth (vRack) |
| `total` | integer | read-only | Total number of offers matching the filters |

```json
{
  "count": 0,
  "pagination": [
    0
  ],
  "plans": [
    {
      "brick": "string",
      "currency": "AUD",
      "durations": [
        {
          "discountPercentage": 0,
          "months": 0,
          "price": {
            "formatted": "string",
            "formattedVat": "string",
            "value": 0,
            "valueVat": 0
          },
          "pricingMode": "string",
          "regular": {
            "formatted": "string",
            "formattedVat": "string",
            "value": 0,
            "valueVat": 0
          },
          "renewal": {
            "formatted": "string",
            "formattedVat": "string",
            "value": 0,
            "valueVat": 0
          },
          "total": {
            "formatted": "string",
            "formattedVat": "string",
            "value": 0,
            "valueVat": 0
          }
        }
      ],
      "features": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "formattedPrice": "string",
      "formattedPriceVat": "string",
      "formattedSetup": "string",
      "formattedSetupVat": "string",
      "invoiceName": "string",
      "monthly": 0,
      "monthlyVat": 0,
      "orderLink": "string",
      "planCode": "string",
      "pricePrefix": "string",
      "priceUnit": "string",
      "priceUnitVat": "string",
      "prices": [
        {
          "commitment": 0,
          "description": "string",
          "formattedMonthly": "string",
          "formattedMonthlyVat": "string",
          "formattedTotal": "string",
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/formatted/webHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/formatted/webHosting")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/formatted/webHosting");

print_r($result);
?>
```

## Retrieve information of domain reseller catalog

`GET /1.0/order/catalog/private/domainReseller`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-private-domainreseller

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/private/domainReseller/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult private domain reseller catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/private/domainReseller" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/private/domainReseller")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/private/domainReseller");

print_r($result);
?>
```

## Retrieve information of domain reseller catalog

`GET /1.0/order/catalog/private/ipSnc`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-private-ipsnc

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/private/ipSnc/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult private domain reseller catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/private/ipSnc" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/private/ipSnc")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/private/ipSnc");

print_r($result);
?>
```

## Retrieve plans from a product's private catalog

`GET /1.0/order/catalog/private/plan`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-private-plan

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/private/plan/get`

Returns the main plans paginated, or the plans matching the `planCode` query parameter when provided. When `planCode` is set, pagination is ignored.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult plans for — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `planCode` | query | string[] |  | Optional list of plan codes to fetch |
| `productName` | query | string | yes | Product name whose plans you want to fetch |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.middleware.Plan[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `familyName` | string | read-only | Name of the product family this plan belongs to |
| `invoiceName` | string | read-only | Name displayed on invoices for this plan |
| `planCode` | string | read-only | Commercial offer identifier |
| `planId` | integer | read-only | Internal numeric plan identifier |
| `pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type of the plan — one of `consumption`, `purchase`, `rental` |
| `pricings` | order.catalog.middleware.Pricing[] | read-only | Pricings of the plan |
| `pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities the pricing can be used for |
| `pricings[].commitment` | integer | read-only | Engagement period |
| `pricings[].description` | string | read-only | Pricing description |
| `pricings[].interval` | integer | read-only | Length of the interval |
| `pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `pricings[].maximumQuantity` | integer | read-only | Maximum quantity that can be ordered |
| `pricings[].maximumRepeat` | integer | read-only | Maximum number of times the interval can be repeated |
| `pricings[].minimumQuantity` | integer | read-only | Minimum quantity that can be ordered |
| `pricings[].minimumRepeat` | integer | read-only | Minimum number of times the interval can be repeated |
| `pricings[].mode` | string | read-only | Pricing mode |
| `pricings[].mustBeCompleted` | boolean | read-only | Whether the pricing must be completed |
| `pricings[].price` | order.catalog.middleware.Price | read-only | Formatted price |
| `pricings[].price.currencyCode` | string | read-only | Currency code of the price |
| `pricings[].price.text` | string | read-only | Human-readable price |
| `pricings[].price.value` | number | read-only | Price value |
| `pricings[].priceCapInUcents` | integer | read-only | Price cap, in micro-cents |
| `pricings[].priceInUcents` | integer | read-only | Price, in micro-cents |
| `pricings[].pricingStrategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `promotions` | order.catalog.middleware.Promotion[] | read-only | Promotions applicable to the plan |
| `promotions[].description` | string | read-only | Promotion description |
| `promotions[].duration` | integer | read-only | Promotion duration, in months |
| `promotions[].endDate` | string (date-time) | read-only | Promotion end date using rfc3339 |
| `promotions[].globalQuantity` | integer | read-only | Global quota for the promotion |
| `promotions[].interval` | integer | read-only | Length of the interval the promotion applies to |
| `promotions[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `promotions[].quantity` | integer | read-only | Per-user quota for the promotion |
| `promotions[].startDate` | string (date-time) | read-only | Promotion start date using rfc3339 |
| `promotions[].type` | order.ReductionTypeEnum | read-only | Promotion type — one of `fixed_amount`, `forced_amount`, `percentage` |
| `promotions[].value` | integer | read-only | Promotion value |

```json
[
  {
    "familyName": "string",
    "invoiceName": "string",
    "planCode": "string",
    "planId": 0,
    "pricingType": "consumption",
    "pricings": [
      {
        "capacities": [
          "detach"
        ],
        "commitment": 0,
        "description": "string",
        "interval": 0,
        "intervalUnit": "day",
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "mode": "string",
        "mustBeCompleted": true,
        "price": {
          "currencyCode": "string",
          "text": "string",
          "value": 0
        },
        "priceCapInUcents": 0,
        "priceInUcents": 0,
        "pricingStrategy": "stairstep"
      }
    ],
    "promotions": [
      {
        "description": "string",
        "duration": 0,
        "endDate": "2024-01-01T12:00:00Z",
        "globalQuantity": 0,
        "interval": 0,
        "intervalUnit": "day",
        "quantity": 0,
        "startDate": "2024-01-01T12:00:00Z",
        "type": "fixed_amount",
        "value": 0
      }
    ]
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/private/plan" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/private/plan")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/private/plan");

print_r($result);
?>
```

## Retrieve information of catalog

`GET /1.0/order/catalog/private/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-private-privatecloud

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/private/privateCloud/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `catalogName` | query | string | yes | Name of the private catalog you want to consult |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult private catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.pcc.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `catalogId` | integer |  | Catalog ID |
| `catalogName` | string |  | Catalog name |
| `commercialRanges` | order.catalog.pcc.CommercialRange[] |  | Describes Commercial Ranges of a Dedicated Cloud |
| `commercialRanges[].datacenters` | order.catalog.pcc.Datacenter[] |  | Describes Dedicated Cloud Datacenters |
| `commercialRanges[].datacenters[].cityCode` | string |  | City Code of a Datacenter |
| `commercialRanges[].datacenters[].cityName` | string |  | City Name of a Datacenter |
| `commercialRanges[].datacenters[].countryCode` | nichandle.CountryEnum |  | Country Code of a Datacenter — one of `AC`, `AD`, `AE`, `AF`, `AG`, `AI`, `AL`, `AM`, `AO`, `AQ`, `AR`, `AS`, … |
| `commercialRanges[].datacenters[].defaultHypervisor` | string |  | Name of the default hypervisor of a Datacenter |
| `commercialRanges[].datacenters[].hypervisors` | order.catalog.pcc.Hypervisor[] |  | Describes Dedicated Cloud Hypervisors |
| `commercialRanges[].datacenters[].mainPlan` | string |  | Main plan code to use for a Datacenter |
| `commercialRanges[].datacenters[].managementFees` | order.catalog.pcc.managementFees |  | Describes the management cost of a range of Dedicated Cloud |
| `commercialRanges[].datacenters[].orderable` | boolean |  | Describes if a Dedicated Cloud can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableOptions` | boolean |  | Describes if options can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].orderableResources` | boolean |  | Describes if resources can be ordered on a Datacenter |
| `commercialRanges[].datacenters[].storagesNoPack` | string[] |  | List of filers add in case of a No Pack order |
| `commercialRanges[].datacenters[].zoneFullName` | string |  | Zone Code of a datacenter |
| `commercialRanges[].datacenters[].zoneName` | string |  | Zone Name of a datacenter |
| `commercialRanges[].defaultZone` | string |  | Default datacenter of the commercial range |
| `commercialRanges[].name` | string |  | Name of the commercial range |
| `merchantCode` | string |  | OVH Subsidiary of the Catalog |
| `plans` | order.catalog.ProductPlan[] |  | Commercial offers |
| `plans[].addonsFamily` | order.catalog.AddonItem[] |  | List of addons |
| `plans[].addonsFamily[].addons` | order.catalog.AddonOffer[] |  | List of the addons of this family |
| `plans[].addonsFamily[].exclusive` | boolean |  | Whether you can only have one instance of this addon family (xor) |
| `plans[].addonsFamily[].family` | string |  | Addon family name |
| `plans[].addonsFamily[].mandatory` | boolean |  | Indicated if addon family must be contracted |
| `plans[].consumptionBillingStrategy` | string |  | Strategy that follow the pricing when product is in consumption mode |
| `plans[].details` | order.catalog.ProductOfferDetails |  | Describe the details of a commercial offer |
| `plans[].details.metadatas` | complexType.SafeKeyValue_string[] |  | List of the metadatas attached |
| `plans[].details.pricings` | order.catalog.PricingDefault |  | Describe default pricings |
| `plans[].details.product` | order.catalog.Product |  | Information about the product |
| `plans[].invoiceName` | string |  | Name that appears on invoice |
| `plans[].planCode` | string |  | Plan code identifier |
| `plans[].pricingType` | string |  | Main mode: rental, consumption |

```json
{
  "catalogId": 0,
  "catalogName": "string",
  "commercialRanges": [
    {
      "datacenters": [
        {
          "cityCode": "string",
          "cityName": "string",
          "countryCode": "AC",
          "defaultHypervisor": "string",
          "hypervisors": [
            {
              "hosts": null,
              "name": null,
              "options": null,
              "orderable": null,
              "servicePacks": null,
              "shortName": null,
              "storages": null,
              "type": null
            }
          ],
          "mainPlan": "string",
          "managementFees": {
            "planCode": "string",
            "upgradableTo": [
              null
            ]
          },
          "orderable": true,
          "orderableOptions": true,
          "orderableResources": true,
          "storagesNoPack": [
            "string"
          ],
          "zoneFullName": "string",
          "zoneName": "string"
        }
      ],
      "defaultZone": "string",
      "name": "string"
    }
  ],
  "merchantCode": "string",
  "plans": [
    {
      "addonsFamily": [
        {
          "addons": [
            {
              "invoiceName": null,
              "plan": null
            }
          ],
          "exclusive": true,
          "family": "string",
          "mandatory": true
        }
      ],
      "consumptionBillingStrategy": "string",
      "details": {
        "metadatas": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "pricings": {
          "default": [
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/private/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/private/privateCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/private/privateCloud");

print_r($result);
?>
```

## Retrieve information of domain reseller catalog

`GET /1.0/order/catalog/private/sncCloudPlatform`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-private-snccloudplatform

**Status:** Stable production version  
**IAM actions:** `order:apiovh:catalog/private/sncCloudPlatform/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult private domain reseller catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/private/sncCloudPlatform" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/private/sncCloudPlatform")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/private/sncCloudPlatform");

print_r($result);
?>
```

## Retrieve Advisory Services Hosting Web support catalog

`GET /1.0/order/catalog/public/advisoryServicesHostingWeb`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-advisoryserviceshostingweb

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/advisoryServicesHostingWeb" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/advisoryServicesHostingWeb")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/advisoryServicesHostingWeb");

print_r($result);
?>
```

## Retrieve Advisory Services Public Cloud support catalog

`GET /1.0/order/catalog/public/advisoryServicesPublicCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-advisoryservicespubliccloud

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/advisoryServicesPublicCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/advisoryServicesPublicCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/advisoryServicesPublicCloud");

print_r($result);
?>
```

## Retrieve Advisory Services Telecom support catalog

`GET /1.0/order/catalog/public/advisoryServicesTelecom`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-advisoryservicestelecom

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/advisoryServicesTelecom" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/advisoryServicesTelecom")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/advisoryServicesTelecom");

print_r($result);
?>
```

## Retrieve backupServices catalog

`GET /1.0/order/catalog/public/backupServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-backupservices

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/backupServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/backupServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/backupServices");

print_r($result);
?>
```

## Retrieve bare-metal servers catalog

`GET /1.0/order/catalog/public/baremetalServers`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-baremetalservers

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.DedicatedServerCatalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.AddonFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `planFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `planFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `planFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.DedicatedServerProduct[] | read-only | List of products of the catalog |
| `products[].blobs` | order.catalog.public.DedicatedServerProductBlob | read-only | Additional information for this Product |
| `products[].blobs.technical` | order.catalog.public.DedicatedServerProductBlobTechnical | read-only | Technical information for Dedicated Server Product |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/baremetalServers" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/baremetalServers")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/baremetalServers");

print_r($result);
?>
```

## Retrieve cephaas catalog

`GET /1.0/order/catalog/public/cephaas`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-cephaas

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/cephaas" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/cephaas")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/cephaas");

print_r($result);
?>
```

## Retrieve Public Cloud catalog

`GET /1.0/order/catalog/public/cloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-cloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/cloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/cloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/cloud");

print_r($result);
?>
```

## Retrieve Cloud DB catalog

`GET /1.0/order/catalog/public/cloudDB`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-clouddb

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/cloudDB" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/cloudDB")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/cloudDB");

print_r($result);
?>
```

## Retrieve DNS catalog

`GET /1.0/order/catalog/public/dns`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-dns

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/dns" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/dns")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/dns");

print_r($result);
?>
```

## Retrieve domain catalog

`GET /1.0/order/catalog/public/domain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-domain

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/domain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/domain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/domain");

print_r($result);
?>
```

## Retrieve plans from domain catalog

`GET /1.0/order/catalog/public/domain/plan`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-domain-plan

**Status:** Stable production version  
**Authentication:** none (public operation)

Returns the main plans paginated, or the plans matching the `planCode` query parameter when provided. When `planCode` is set, pagination is ignored.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult plans for — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `planCode` | query | string[] |  | Optional list of plan codes to fetch |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.middleware.Plan[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `familyName` | string | read-only | Name of the product family this plan belongs to |
| `invoiceName` | string | read-only | Name displayed on invoices for this plan |
| `planCode` | string | read-only | Commercial offer identifier |
| `planId` | integer | read-only | Internal numeric plan identifier |
| `pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type of the plan — one of `consumption`, `purchase`, `rental` |
| `pricings` | order.catalog.middleware.Pricing[] | read-only | Pricings of the plan |
| `pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities the pricing can be used for |
| `pricings[].commitment` | integer | read-only | Engagement period |
| `pricings[].description` | string | read-only | Pricing description |
| `pricings[].interval` | integer | read-only | Length of the interval |
| `pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `pricings[].maximumQuantity` | integer | read-only | Maximum quantity that can be ordered |
| `pricings[].maximumRepeat` | integer | read-only | Maximum number of times the interval can be repeated |
| `pricings[].minimumQuantity` | integer | read-only | Minimum quantity that can be ordered |
| `pricings[].minimumRepeat` | integer | read-only | Minimum number of times the interval can be repeated |
| `pricings[].mode` | string | read-only | Pricing mode |
| `pricings[].mustBeCompleted` | boolean | read-only | Whether the pricing must be completed |
| `pricings[].price` | order.catalog.middleware.Price | read-only | Formatted price |
| `pricings[].price.currencyCode` | string | read-only | Currency code of the price |
| `pricings[].price.text` | string | read-only | Human-readable price |
| `pricings[].price.value` | number | read-only | Price value |
| `pricings[].priceCapInUcents` | integer | read-only | Price cap, in micro-cents |
| `pricings[].priceInUcents` | integer | read-only | Price, in micro-cents |
| `pricings[].pricingStrategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `promotions` | order.catalog.middleware.Promotion[] | read-only | Promotions applicable to the plan |
| `promotions[].description` | string | read-only | Promotion description |
| `promotions[].duration` | integer | read-only | Promotion duration, in months |
| `promotions[].endDate` | string (date-time) | read-only | Promotion end date using rfc3339 |
| `promotions[].globalQuantity` | integer | read-only | Global quota for the promotion |
| `promotions[].interval` | integer | read-only | Length of the interval the promotion applies to |
| `promotions[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `promotions[].quantity` | integer | read-only | Per-user quota for the promotion |
| `promotions[].startDate` | string (date-time) | read-only | Promotion start date using rfc3339 |
| `promotions[].type` | order.ReductionTypeEnum | read-only | Promotion type — one of `fixed_amount`, `forced_amount`, `percentage` |
| `promotions[].value` | integer | read-only | Promotion value |

```json
[
  {
    "familyName": "string",
    "invoiceName": "string",
    "planCode": "string",
    "planId": 0,
    "pricingType": "consumption",
    "pricings": [
      {
        "capacities": [
          "detach"
        ],
        "commitment": 0,
        "description": "string",
        "interval": 0,
        "intervalUnit": "day",
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "mode": "string",
        "mustBeCompleted": true,
        "price": {
          "currencyCode": "string",
          "text": "string",
          "value": 0
        },
        "priceCapInUcents": 0,
        "priceInUcents": 0,
        "pricingStrategy": "stairstep"
      }
    ],
    "promotions": [
      {
        "description": "string",
        "duration": 0,
        "endDate": "2024-01-01T12:00:00Z",
        "globalQuantity": 0,
        "interval": 0,
        "intervalUnit": "day",
        "quantity": 0,
        "startDate": "2024-01-01T12:00:00Z",
        "type": "fixed_amount",
        "value": 0
      }
    ]
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/domain/plan" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/domain/plan")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/domain/plan");

print_r($result);
?>
```

## Retrieve Eco catalog

`GET /1.0/order/catalog/public/eco`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-eco

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/eco" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/eco")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/eco");

print_r($result);
?>
```

## Retrieve Email Domain catalog

`GET /1.0/order/catalog/public/emailDomain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-emaildomain

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/emailDomain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/emailDomain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/emailDomain");

print_r($result);
?>
```

## Retrieve emailpro catalog

`GET /1.0/order/catalog/public/emailpro`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-emailpro

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/emailpro" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/emailpro")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/emailpro");

print_r($result);
?>
```

## Retrieve exchange catalog

`GET /1.0/order/catalog/public/exchange`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-exchange

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/exchange" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/exchange")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/exchange");

print_r($result);
?>
```

## Retrieve IP Load Balancing catalog

`GET /1.0/order/catalog/public/ipLoadbalancing`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-iploadbalancing

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/ipLoadbalancing" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/ipLoadbalancing")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/ipLoadbalancing");

print_r($result);
?>
```

## Retrieve License HYCU catalog

`GET /1.0/order/catalog/public/licenseHycu`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-licensehycu

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/licenseHycu" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/licenseHycu")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/licenseHycu");

print_r($result);
?>
```

## Retrieve License Plesk catalog

`GET /1.0/order/catalog/public/licensePlesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-licenseplesk

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/licensePlesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/licensePlesk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/licensePlesk");

print_r($result);
?>
```

## Retrieve License SqlServer catalog

`GET /1.0/order/catalog/public/licenseSqlServer`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-licensesqlserver

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/licenseSqlServer" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/licenseSqlServer")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/licenseSqlServer");

print_r($result);
?>
```

## Retrieve License Windows catalog

`GET /1.0/order/catalog/public/licenseWindows`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-licensewindows

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/licenseWindows" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/licenseWindows")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/licenseWindows");

print_r($result);
?>
```

## Retrieve License cPanel catalog

`GET /1.0/order/catalog/public/licensecPanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-licensecpanel

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/licensecPanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/licensecPanel")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/licensecPanel");

print_r($result);
?>
```

## Retrieve Logs catalog

`GET /1.0/order/catalog/public/logs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-logs

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/logs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/logs")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/logs");

print_r($result);
?>
```

## Get the Managed CMS catalog

`GET /1.0/order/catalog/public/managedCMS`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-managedcms

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/managedCMS" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/managedCMS")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/managedCMS");

print_r($result);
?>
```

## Retrieve nasha catalog

`GET /1.0/order/catalog/public/nasha`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-nasha

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/nasha" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/nasha")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/nasha");

print_r($result);
?>
```

## Retrieve Netapp catalog

`GET /1.0/order/catalog/public/netapp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-netapp

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/netapp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/netapp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/netapp");

print_r($result);
?>
```

## Retrieve Nutanix clusters catalog

`GET /1.0/order/catalog/public/nutanix`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-nutanix

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/nutanix" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/nutanix")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/nutanix");

print_r($result);
?>
```

## Retrieve office365Prepaid catalog

`GET /1.0/order/catalog/public/office365Prepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-office365prepaid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/office365Prepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/office365Prepaid")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/office365Prepaid");

print_r($result);
?>
```

## Retrieve Office Prepaid catalog

`GET /1.0/order/catalog/public/officePrepaid`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-officeprepaid

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/officePrepaid" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/officePrepaid")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/officePrepaid");

print_r($result);
?>
```

## Retrieve OVHcloud KMS catalog

`GET /1.0/order/catalog/public/okms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-okms

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/okms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/okms")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/okms");

print_r($result);
?>
```

## Retrieve OVH Cloud Connect catalog

`GET /1.0/order/catalog/public/ovhCloudConnect`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-ovhcloudconnect

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/ovhCloudConnect" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/ovhCloudConnect")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/ovhCloudConnect");

print_r($result);
?>
```

## Retrieve packs_professional_services catalog

`GET /1.0/order/catalog/public/packsProfessionalServices`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-packsprofessionalservices

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/packsProfessionalServices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/packsProfessionalServices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/packsProfessionalServices");

print_r($result);
?>
```

## Retrieve plans from a product's catalog

`GET /1.0/order/catalog/public/plan`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-plan

**Status:** Stable production version  
**Authentication:** none (public operation)

Returns the main plans paginated, or the plans matching the `planCode` query parameter when provided. When `planCode` is set, pagination is ignored.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Pagination-Cursor` | header | string |  | Pagination cursor |
| `X-Pagination-Size` | header | integer |  | Pagination size |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult plans for — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `planCode` | query | string[] |  | Optional list of plan codes to fetch |
| `productName` | query | string | yes | Product name whose plans you want to fetch |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.middleware.Plan[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `familyName` | string | read-only | Name of the product family this plan belongs to |
| `invoiceName` | string | read-only | Name displayed on invoices for this plan |
| `planCode` | string | read-only | Commercial offer identifier |
| `planId` | integer | read-only | Internal numeric plan identifier |
| `pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type of the plan — one of `consumption`, `purchase`, `rental` |
| `pricings` | order.catalog.middleware.Pricing[] | read-only | Pricings of the plan |
| `pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities the pricing can be used for |
| `pricings[].commitment` | integer | read-only | Engagement period |
| `pricings[].description` | string | read-only | Pricing description |
| `pricings[].interval` | integer | read-only | Length of the interval |
| `pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `pricings[].maximumQuantity` | integer | read-only | Maximum quantity that can be ordered |
| `pricings[].maximumRepeat` | integer | read-only | Maximum number of times the interval can be repeated |
| `pricings[].minimumQuantity` | integer | read-only | Minimum quantity that can be ordered |
| `pricings[].minimumRepeat` | integer | read-only | Minimum number of times the interval can be repeated |
| `pricings[].mode` | string | read-only | Pricing mode |
| `pricings[].mustBeCompleted` | boolean | read-only | Whether the pricing must be completed |
| `pricings[].price` | order.catalog.middleware.Price | read-only | Formatted price |
| `pricings[].price.currencyCode` | string | read-only | Currency code of the price |
| `pricings[].price.text` | string | read-only | Human-readable price |
| `pricings[].price.value` | number | read-only | Price value |
| `pricings[].priceCapInUcents` | integer | read-only | Price cap, in micro-cents |
| `pricings[].priceInUcents` | integer | read-only | Price, in micro-cents |
| `pricings[].pricingStrategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `promotions` | order.catalog.middleware.Promotion[] | read-only | Promotions applicable to the plan |
| `promotions[].description` | string | read-only | Promotion description |
| `promotions[].duration` | integer | read-only | Promotion duration, in months |
| `promotions[].endDate` | string (date-time) | read-only | Promotion end date using rfc3339 |
| `promotions[].globalQuantity` | integer | read-only | Global quota for the promotion |
| `promotions[].interval` | integer | read-only | Length of the interval the promotion applies to |
| `promotions[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `promotions[].quantity` | integer | read-only | Per-user quota for the promotion |
| `promotions[].startDate` | string (date-time) | read-only | Promotion start date using rfc3339 |
| `promotions[].type` | order.ReductionTypeEnum | read-only | Promotion type — one of `fixed_amount`, `forced_amount`, `percentage` |
| `promotions[].value` | integer | read-only | Promotion value |

```json
[
  {
    "familyName": "string",
    "invoiceName": "string",
    "planCode": "string",
    "planId": 0,
    "pricingType": "consumption",
    "pricings": [
      {
        "capacities": [
          "detach"
        ],
        "commitment": 0,
        "description": "string",
        "interval": 0,
        "intervalUnit": "day",
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "mode": "string",
        "mustBeCompleted": true,
        "price": {
          "currencyCode": "string",
          "text": "string",
          "value": 0
        },
        "priceCapInUcents": 0,
        "priceInUcents": 0,
        "pricingStrategy": "stairstep"
      }
    ],
    "promotions": [
      {
        "description": "string",
        "duration": 0,
        "endDate": "2024-01-01T12:00:00Z",
        "globalQuantity": 0,
        "interval": 0,
        "intervalUnit": "day",
        "quantity": 0,
        "startDate": "2024-01-01T12:00:00Z",
        "type": "fixed_amount",
        "value": 0
      }
    ]
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/plan" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/plan")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/plan");

print_r($result);
?>
```

## Retrieve Dedicated Cloud catalog

`GET /1.0/order/catalog/public/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-privatecloud

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/privateCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/privateCloud");

print_r($result);
?>
```

## Retrieve Private Cloud Enterprise catalog

`GET /1.0/order/catalog/public/privateCloudEnterprise`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-privatecloudenterprise

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/privateCloudEnterprise" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/privateCloudEnterprise")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/privateCloudEnterprise");

print_r($result);
?>
```

## Retrieve Private SQL catalog

`GET /1.0/order/catalog/public/privateSQL`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-privatesql

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/privateSQL" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/privateSQL")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/privateSQL");

print_r($result);
?>
```

## Retrieve SSL Gateway catalog

`GET /1.0/order/catalog/public/sslGateway`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-sslgateway

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/sslGateway" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/sslGateway")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/sslGateway");

print_r($result);
?>
```

## Retrieve Telephony catalog

`GET /1.0/order/catalog/public/telephony`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-telephony

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/telephony" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/telephony")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/telephony");

print_r($result);
?>
```

## Retrieve vac catalog

`GET /1.0/order/catalog/public/vac`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-vac

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/vac" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/vac")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/vac");

print_r($result);
?>
```

## Retrieve vcdaMigration catalog

`GET /1.0/order/catalog/public/vcdaMigration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-vcdamigration

**Status:** Stable production version

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/vcdaMigration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/vcdaMigration")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/vcdaMigration");

print_r($result);
?>
```

## Get the Video Center catalog

`GET /1.0/order/catalog/public/videocenter`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-videocenter

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/videocenter" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/videocenter")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/videocenter");

print_r($result);
?>
```

## Retrieve vmwareCloudDirector catalog

`GET /1.0/order/catalog/public/vmwareCloudDirector`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-vmwareclouddirector

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/vmwareCloudDirector" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/vmwareCloudDirector")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/vmwareCloudDirector");

print_r($result);
?>
```

## Retrieve vmwareCloudDirectorBackup catalog

`GET /1.0/order/catalog/public/vmwareCloudDirectorBackup`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-vmwareclouddirectorbackup

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/vmwareCloudDirectorBackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/vmwareCloudDirectorBackup")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/vmwareCloudDirectorBackup");

print_r($result);
?>
```

## Retrieve VPS catalog

`GET /1.0/order/catalog/public/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-vps

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/vps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/vps");

print_r($result);
?>
```

## Retrieve Web Hosting catalog

`GET /1.0/order/catalog/public/webHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-webhosting

**Status:** Beta version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/webHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/webHosting")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/webHosting");

print_r($result);
?>
```

## Retrieve Web PaaS catalog

`GET /1.0/order/catalog/public/webPaaS`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-webpaas

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/webPaaS" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/webPaaS")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/webPaaS");

print_r($result);
?>
```

## Retrieve zimbra catalog

`GET /1.0/order/catalog/public/zimbra`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-catalog-public-zimbra

**Status:** Stable production version  
**Authentication:** none (public operation)

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ovhSubsidiary` | query | nichandle.OvhSubsidiaryEnum | yes | Subsidiary of the country you want to consult catalog — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.catalog.public.Catalog | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addons` | order.catalog.public.Plan[] | read-only | List of addons of the catalog |
| `addons[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `addons[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `addons[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `addons[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `addons[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `addons[].addonFamilies[].name` | string | read-only | Family name |
| `addons[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `addons[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `addons[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `addons[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `addons[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `addons[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `addons[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `addons[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `addons[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `addons[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `addons[].invoiceName` | string | read-only | Commercial offer description |
| `addons[].planCode` | string | read-only | Commercial offer identifier |
| `addons[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `addons[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `addons[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `addons[].pricings[].commitment` | integer | read-only | Engagement period |
| `addons[].pricings[].description` | string | read-only | Pricing description |
| `addons[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `addons[].pricings[].interval` | integer | read-only | Length of the interval |
| `addons[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `addons[].pricings[].mode` | string | read-only | Pricing mode |
| `addons[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `addons[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `addons[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `addons[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `addons[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `addons[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `addons[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `addons[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `addons[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `catalogId` | integer | read-only | Identifier of the catalog |
| `locale` | order.catalog.public.Locale | read-only | Subsidiary specific information |
| `locale.currencyCode` | order.CurrencyCodeEnum | read-only | Currency used by the Subsidiary — one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `locale.subsidiary` | nichandle.OvhSubsidiaryEnum | read-only | Current Subsidiary — one of `ASIA`, `AU`, `CA`, `CZ`, `DE`, `ES`, `EU`, `FI`, `FR`, `GB`, `IE`, `IN`, … |
| `locale.taxRate` | number | read-only | Default VAT rate used by the Subsidiary |
| `planFamilies` | order.catalog.public.PlanFamily[] | read-only | List of plan families of the catalog |
| `planFamilies[].name` | string | read-only | Family name |
| `plans` | order.catalog.public.Plan[] | read-only | List of main plans of the catalog |
| `plans[].addonFamilies` | order.catalog.public.AddonFamily[] | read-only | Addon families for this offer |
| `plans[].addonFamilies[].addons` | string[] | read-only | List of Commercial offers that can be ordered as an Addon of the current Commerical offer for the current Family |
| `plans[].addonFamilies[].default` | string | read-only | Default Commercial offer that can be ordered as an Addon of the current Commercial offer for the current Family |
| `plans[].addonFamilies[].exclusive` | boolean | read-only | Whether this Addon family is exclusive and can be ordered only once for the main Commercial offer |
| `plans[].addonFamilies[].mandatory` | boolean | read-only | Whether this Addon family is mandatory |
| `plans[].addonFamilies[].name` | string | read-only | Family name |
| `plans[].configurations` | order.catalog.public.Configuration[] | read-only | List of possible Configurations for this Commercial offer |
| `plans[].configurations[].isCustom` | boolean | read-only | Whether the value of this Configuration is custom |
| `plans[].configurations[].isMandatory` | boolean | read-only | Whether this Configuration is mandatory |
| `plans[].configurations[].name` | string | read-only | Identifier of the Configuration |
| `plans[].configurations[].values` | string[] | read-only | Possible values for this Configuration, if not custom |
| `plans[].consumptionConfiguration` | order.catalog.public.ConsumptionConfiguration | read-only | Configuration when pricing type is consumption |
| `plans[].consumptionConfiguration.billingStrategy` | order.catalog.public.BillingStrategyEnum | read-only | Consumption billing strategy — one of `custom`, `diff`, `max`, `max_retain`, `ping`, `sum` |
| `plans[].consumptionConfiguration.pingEndPolicy` | order.catalog.public.PingEndPolicyEnum | read-only | Consumption ping end policy used at end of usage — one of `full`, `prorata` |
| `plans[].consumptionConfiguration.prorataUnit` | order.catalog.public.ProrataUnitEnum | read-only | Consumption prorata unit — one of `day`, `hour` |
| `plans[].family` | string | read-only | Name of the family this Commercial offer belongs to |
| `plans[].invoiceName` | string | read-only | Commercial offer description |
| `plans[].planCode` | string | read-only | Commercial offer identifier |
| `plans[].pricingType` | order.cart.GenericProductPricingTypeEnum | read-only | Type of Pricing used by this Commercial offer — one of `consumption`, `purchase`, `rental` |
| `plans[].pricings` | order.catalog.public.Pricing[] | read-only | List of possible Pricings for this Commercial offer |
| `plans[].pricings[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] | read-only | Capacities of the Pricing, describes what the Pricing can be used for |
| `plans[].pricings[].commitment` | integer | read-only | Engagement period |
| `plans[].pricings[].description` | string | read-only | Pricing description |
| `plans[].pricings[].engagementConfiguration` | order.catalog.public.EngagementConfiguration | read-only | Engagement Configuration |
| `plans[].pricings[].interval` | integer | read-only | Length of the interval |
| `plans[].pricings[].intervalUnit` | order.cart.DurationUnitEnum | read-only | Unit of the interval — one of `day`, `month`, `none` |
| `plans[].pricings[].mode` | string | read-only | Pricing mode |
| `plans[].pricings[].mustBeCompleted` | boolean | read-only | Pricing must be completed |
| `plans[].pricings[].phase` | integer | read-only | Phase for the Pricing |
| `plans[].pricings[].price` | integer | read-only | Price, in micro-cents |
| `plans[].pricings[].quantity` | order.catalog.public.PricingMinMax | read-only | Describes how many times the Commercial offer can be added to the Cart |
| `plans[].pricings[].repeat` | order.catalog.public.PricingMinMax | read-only | Describes how many times the interval can be repeated |
| `plans[].pricings[].strategy` | order.cart.GenericProductPricingStrategyEnum | read-only | Pricing strategy — one of `stairstep`, `tiered`, `volume` |
| `plans[].pricings[].tax` | integer | read-only | Tax that can be applied, in micro-cents |
| `plans[].pricings[].type` | order.cart.GenericProductPricingTypeEnum | read-only | Pricing type — one of `consumption`, `purchase`, `rental` |
| `plans[].product` | string | read-only | Identifier of the Product linked to this Commercial offer |
| `products` | order.catalog.public.Product[] | read-only | List of products of the catalog |
| `products[].description` | string | read-only | Description of the Product |
| `products[].name` | string | read-only | Identifier of the Product |

```json
{
  "addons": [
    {
      "addonFamilies": [
        {
          "addons": [
            "string"
          ],
          "default": "string",
          "exclusive": true,
          "mandatory": true,
          "name": "string"
        }
      ],
      "configurations": [
        {
          "isCustom": true,
          "isMandatory": true,
          "name": "string",
          "values": [
            "string"
          ]
        }
      ],
      "consumptionConfiguration": {
        "billingStrategy": "custom",
        "pingEndPolicy": "full",
        "prorataUnit": "day"
      },
      "family": "string",
      "invoiceName": "string",
      "planCode": "string",
      "pricingType": "consumption",
      "pricings": [
        {
          "capacities": [
            "detach"
          ],
          "commitment": 0,
          "description": "string",
          "engagementConfiguration": {
            "defaultEndAction": "CANCEL_SERVICE",
            "duration": "string",
            "type": "periodic"
          },
          "interval": 0,
          "intervalUnit": "day",
          "mode": "string",
          "mustBeCompleted": true,
          "phase": 0,
          "price": 0,
          "quantity": {
            "max": 0,
            "min": 0
          },
          "repeat": {
            "max": 0,
            "min": 0
          },
          "strategy": "stairstep",
          "tax": 0,
          "type": "consumption"
        }
      ],
      "product": "string"
    }
  ],
  "catalogId": 0,
  "locale": {
    "currencyCode": "AUD",
    "subsidiary": "ASIA",
    "taxRate": 0
  …
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/catalog/public/zimbra" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/catalog/public/zimbra")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/catalog/public/zimbra");

print_r($result);
?>
```

## List CDN services

`GET /1.0/order/cdn/dedicated`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/cdn/dedicated/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/cdn/dedicated/new/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/cdn/dedicated/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/cdn/dedicated/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/cdn/dedicated/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cdn-dedicated-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/cdn/dedicated/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/cdn/dedicated/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/cdn/dedicated/new/{duration}");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/cdn/dedicated/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'backend' option

`GET /1.0/order/cdn/dedicated/{serviceName}/backend`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename-backend

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/backend/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backend` | query | integer | yes | Backend number that will be ordered |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/backend" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}/backend")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}/backend");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/cdn/dedicated/{serviceName}/backend/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename-backend-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/backend/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `backend` | query | integer | yes | Backend number that will be ordered |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/backend/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}/backend/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}/backend/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/cdn/dedicated/{serviceName}/backend/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cdn-dedicated-servicename-backend-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/backend/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `backend` | integer | yes | Backend number that will be ordered |

```json
{
  "backend": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/backend/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cdn/dedicated/{serviceName}/backend/{duration}",
	backend = None, # Backend number that will be ordered (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cdn/dedicated/{serviceName}/backend/{duration}", array(
	backend => null, // Backend number that will be ordered (type: long)
));

print_r($result);
?>
```

## Get allowed durations for 'cacheRule' option

`GET /1.0/order/cdn/dedicated/{serviceName}/cacheRule`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename-cacherule

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/cacheRule/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cacheRule` | query | cdnanycast.OrderCacheRuleEnum | yes | cache rule upgrade option to 100 or 1000 — one of `100`, `1000` |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/cacheRule" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}/cacheRule")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}/cacheRule");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/cdn/dedicated/{serviceName}/cacheRule/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename-cacherule-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/cacheRule/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `cacheRule` | query | cdnanycast.OrderCacheRuleEnum | yes | cache rule upgrade option to 100 or 1000 — one of `100`, `1000` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/cacheRule/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}/cacheRule/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}/cacheRule/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/cdn/dedicated/{serviceName}/cacheRule/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cdn-dedicated-servicename-cacherule-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/cacheRule/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cacheRule` | cdnanycast.OrderCacheRuleEnum | yes | cache rule upgrade option to 100 or 1000 — one of `100`, `1000` |

```json
{
  "cacheRule": 100
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/cacheRule/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: cdnanycast.OrderCacheRuleEnum
result = client.post("/order/cdn/dedicated/{serviceName}/cacheRule/{duration}",
	cacheRule = None, # cache rule upgrade option to 100 or 1000 (type: cdnanycast.OrderCacheRuleEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: cdnanycast.OrderCacheRuleEnum
$result = $ovh->post("/order/cdn/dedicated/{serviceName}/cacheRule/{duration}", array(
	cacheRule => null, // cache rule upgrade option to 100 or 1000 (type: cdnanycast.OrderCacheRuleEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'quota' option

`GET /1.0/order/cdn/dedicated/{serviceName}/quota`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename-quota

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/quota/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `quota` | query | cdnanycast.OrderQuotaEnum | yes | quota number in TB that will be added to the CDN service — one of `1`, `10`, `100`, `1000` |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/quota" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}/quota")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}/quota");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/cdn/dedicated/{serviceName}/quota/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cdn-dedicated-servicename-quota-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/quota/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `quota` | query | cdnanycast.OrderQuotaEnum | yes | quota number in TB that will be added to the CDN service — one of `1`, `10`, `100`, `1000` |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/quota/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cdn/dedicated/{serviceName}/quota/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cdn/dedicated/{serviceName}/quota/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/cdn/dedicated/{serviceName}/quota/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cdn-dedicated-servicename-quota-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cdn/dedicated/quota/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your CDN offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `quota` | cdnanycast.OrderQuotaEnum | yes | quota number in TB that will be added to the CDN service — one of `1`, `10`, `100`, `1000` |

```json
{
  "quota": 1
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cdn/dedicated/{serviceName}/quota/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: cdnanycast.OrderQuotaEnum
result = client.post("/order/cdn/dedicated/{serviceName}/quota/{duration}",
	quota = None, # quota number in TB that will be added to the CDN service (type: cdnanycast.OrderQuotaEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: cdnanycast.OrderQuotaEnum
$result = $ovh->post("/order/cdn/dedicated/{serviceName}/quota/{duration}", array(
	quota => null, // quota number in TB that will be added to the CDN service (type: cdnanycast.OrderQuotaEnum)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/cloud/project`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cloud-project

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cloud/project/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cloud/project" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cloud/project")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cloud/project");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/cloud/project/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cloud-project-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cloud/project/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The project id |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cloud/project/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cloud/project/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cloud/project/{serviceName}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/cloud/project/{serviceName}/credit`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-cloud-project-servicename-credit

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cloud/project/credit/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `amount` | query | integer | yes | Amount to add in your cloud credit |
| `serviceName` | path | string | yes | The project id |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/cloud/project/{serviceName}/credit" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/cloud/project/{serviceName}/credit")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/cloud/project/{serviceName}/credit");

print_r($result);
?>
```

## Create order

`POST /1.0/order/cloud/project/{serviceName}/credit`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-cloud-project-servicename-credit

**Status:** Stable production version  
**IAM actions:** `order:apiovh:cloud/project/credit/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The project id |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | integer | yes | Amount to add in your cloud credit |

```json
{
  "amount": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/cloud/project/{serviceName}/credit" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/cloud/project/{serviceName}/credit",
	amount = None, # Amount to add in your cloud credit (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/cloud/project/{serviceName}/credit", array(
	amount => null, // Amount to add in your cloud credit (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/dedicated/housing`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-housing

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/housing/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/housing" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/housing")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/housing");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/dedicated/housing/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-housing-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/housing/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your Housing bay |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/housing/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/housing/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/housing/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'APC' option

`GET /1.0/order/dedicated/housing/{serviceName}/APC`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-housing-servicename-apc

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/housing/APC/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your Housing bay |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/housing/{serviceName}/APC" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/housing/{serviceName}/APC")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/housing/{serviceName}/APC");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/housing/{serviceName}/APC/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-housing-servicename-apc-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/housing/APC/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your Housing bay |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/housing/{serviceName}/APC/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/housing/{serviceName}/APC/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/housing/{serviceName}/APC/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/housing/{serviceName}/APC/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-housing-servicename-apc-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/housing/APC/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your Housing bay |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/housing/{serviceName}/APC/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicated/housing/{serviceName}/APC/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicated/housing/{serviceName}/APC/{duration}");

print_r($result);
?>
```

## List servers

`GET /1.0/order/dedicated/server`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/get`

List servers. Returns the names of the dedicated servers the account can access. Each name is the serviceName used by the other calls on a server.

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/dedicated/server/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'backupStorage' option

`GET /1.0/order/dedicated/server/{serviceName}/backupStorage`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-backupstorage

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/backupStorage/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `capacity` | query | dedicated.server.BackupStorageCapacityEnum | yes | The capacity in gigabytes of your backup storage — one of `500`, `1000`, `5000`, `10000` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/backupStorage" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/backupStorage")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/backupStorage");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/backupStorage/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-backupstorage-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/backupStorage/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `capacity` | query | dedicated.server.BackupStorageCapacityEnum | yes | The capacity in gigabytes of your backup storage — one of `500`, `1000`, `5000`, `10000` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/backupStorage/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/backupStorage/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/backupStorage/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/backupStorage/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-backupstorage-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/backupStorage/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `capacity` | dedicated.server.BackupStorageCapacityEnum | yes | The capacity in gigabytes of your backup storage — one of `500`, `1000`, `5000`, `10000` |

```json
{
  "capacity": 500
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/backupStorage/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicated.server.BackupStorageCapacityEnum
result = client.post("/order/dedicated/server/{serviceName}/backupStorage/{duration}",
	capacity = None, # The capacity in gigabytes of your backup storage (type: dedicated.server.BackupStorageCapacityEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicated.server.BackupStorageCapacityEnum
$result = $ovh->post("/order/dedicated/server/{serviceName}/backupStorage/{duration}", array(
	capacity => null, // The capacity in gigabytes of your backup storage (type: dedicated.server.BackupStorageCapacityEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'bandwidth' option

`GET /1.0/order/dedicated/server/{serviceName}/bandwidth`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-bandwidth

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/bandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `bandwidth` | query | dedicated.server.BandwidthOrderEnum | yes | Bandwidth to allocate — one of `1000`, `2000`, `3000` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |
| `type` | query | dedicated.server.BandwidthOrderTypeEnum | yes | bandwidth type — one of `platinum`, `premium`, `ultimate` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/bandwidth" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/bandwidth")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/bandwidth");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/bandwidth/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-bandwidth-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/bandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `bandwidth` | query | dedicated.server.BandwidthOrderEnum | yes | Bandwidth to allocate — one of `1000`, `2000`, `3000` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |
| `type` | query | dedicated.server.BandwidthOrderTypeEnum | yes | bandwidth type — one of `platinum`, `premium`, `ultimate` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/bandwidth/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/bandwidth/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/bandwidth/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/bandwidth/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-bandwidth-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/bandwidth/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bandwidth` | dedicated.server.BandwidthOrderEnum | yes | Bandwidth to allocate — one of `1000`, `2000`, `3000` |
| `type` | dedicated.server.BandwidthOrderTypeEnum | yes | bandwidth type — one of `platinum`, `premium`, `ultimate` |

```json
{
  "bandwidth": 1000,
  "type": "platinum"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/bandwidth/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicated/server/{serviceName}/bandwidth/{duration}",
	bandwidth = None, # Bandwidth to allocate (type: dedicated.server.BandwidthOrderEnum)
	type = None, # bandwidth type (type: dedicated.server.BandwidthOrderTypeEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicated/server/{serviceName}/bandwidth/{duration}", array(
	bandwidth => null, // Bandwidth to allocate (type: dedicated.server.BandwidthOrderEnum)
	type => null, // bandwidth type (type: dedicated.server.BandwidthOrderTypeEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'bandwidthvRack' option

`GET /1.0/order/dedicated/server/{serviceName}/bandwidthvRack`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-bandwidthvrack

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/bandwidthvRack/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `bandwidth` | query | dedicated.server.BandwidthvRackOrderEnum | yes | vRack Bandwidth to allocate — one of `1000`, `3000` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/bandwidthvRack" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/bandwidthvRack")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/bandwidthvRack");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-bandwidthvrack-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/bandwidthvRack/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `bandwidth` | query | dedicated.server.BandwidthvRackOrderEnum | yes | vRack Bandwidth to allocate — one of `1000`, `3000` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-bandwidthvrack-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/bandwidthvRack/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bandwidth` | dedicated.server.BandwidthvRackOrderEnum | yes | vRack Bandwidth to allocate — one of `1000`, `3000` |

```json
{
  "bandwidth": 1000
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicated.server.BandwidthvRackOrderEnum
result = client.post("/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}",
	bandwidth = None, # vRack Bandwidth to allocate (type: dedicated.server.BandwidthvRackOrderEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicated.server.BandwidthvRackOrderEnum
$result = $ovh->post("/order/dedicated/server/{serviceName}/bandwidthvRack/{duration}", array(
	bandwidth => null, // vRack Bandwidth to allocate (type: dedicated.server.BandwidthvRackOrderEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'feature' option

`GET /1.0/order/dedicated/server/{serviceName}/feature`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-feature

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/feature/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `feature` | query | dedicated.server.OrderableSysFeatureEnum | yes | the feature — one of `backupProtocol`, `monitoring` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/feature" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/feature")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/feature");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/feature/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-feature-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/feature/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `feature` | query | dedicated.server.OrderableSysFeatureEnum | yes | the feature — one of `backupProtocol`, `monitoring` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/feature/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/feature/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/feature/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/feature/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-feature-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/feature/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `feature` | dedicated.server.OrderableSysFeatureEnum | yes | the feature — one of `backupProtocol`, `monitoring` |

```json
{
  "feature": "backupProtocol"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/feature/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicated.server.OrderableSysFeatureEnum
result = client.post("/order/dedicated/server/{serviceName}/feature/{duration}",
	feature = None, # the feature (type: dedicated.server.OrderableSysFeatureEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicated.server.OrderableSysFeatureEnum
$result = $ovh->post("/order/dedicated/server/{serviceName}/feature/{duration}", array(
	feature => null, // the feature (type: dedicated.server.OrderableSysFeatureEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'firewall' option

`GET /1.0/order/dedicated/server/{serviceName}/firewall`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-firewall

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/firewall/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `firewallModel` | query | dedicated.server.FirewallModelEnum | yes | Firewall type — one of `asa5505`, `asa5510`, `asa5520` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/firewall" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/firewall")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/firewall");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/firewall/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-firewall-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/firewall/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `firewallModel` | query | dedicated.server.FirewallModelEnum | yes | Firewall type — one of `asa5505`, `asa5510`, `asa5520` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/firewall/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/firewall/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/firewall/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/firewall/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-firewall-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/firewall/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `firewallModel` | dedicated.server.FirewallModelEnum | yes | Firewall type — one of `asa5505`, `asa5510`, `asa5520` |

```json
{
  "firewallModel": "asa5505"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/firewall/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicated.server.FirewallModelEnum
result = client.post("/order/dedicated/server/{serviceName}/firewall/{duration}",
	firewallModel = None, # Firewall type (type: dedicated.server.FirewallModelEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicated.server.FirewallModelEnum
$result = $ovh->post("/order/dedicated/server/{serviceName}/firewall/{duration}", array(
	firewallModel => null, // Firewall type (type: dedicated.server.FirewallModelEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'ipMigration' option

`GET /1.0/order/dedicated/server/{serviceName}/ipMigration`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-ipmigration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/ipMigration/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ip` | query | ipBlock | yes | The IP to move to this server |
| `serviceName` | path | string | yes | The internal name of your dedicated server |
| `token` | query | string | yes | IP migration token |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/ipMigration" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/ipMigration")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/ipMigration");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/ipMigration/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-ipmigration-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/ipMigration/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `ip` | query | ipBlock | yes | The IP to move to this server |
| `serviceName` | path | string | yes | The internal name of your dedicated server |
| `token` | query | string | yes | IP migration token |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/ipMigration/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/ipMigration/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/ipMigration/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/ipMigration/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-ipmigration-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/ipMigration/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ip` | ipBlock | yes | The IP to move to this server |
| `token` | string | yes | IP migration token |

```json
{
  "ip": "192.0.2.0/24",
  "token": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/ipMigration/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicated/server/{serviceName}/ipMigration/{duration}",
	ip = None, # The IP to move to this server (type: ipBlock)
	token = None, # IP migration token (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicated/server/{serviceName}/ipMigration/{duration}", array(
	ip => null, // The IP to move to this server (type: ipBlock)
	token => null, // IP migration token (type: string)
));

print_r($result);
?>
```

## Get allowed durations for 'kvm' option

`GET /1.0/order/dedicated/server/{serviceName}/kvm`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-kvm

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/kvm/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/kvm" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/kvm")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/kvm");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/kvm/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-kvm-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/kvm/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/kvm/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/kvm/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/kvm/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/kvm/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-kvm-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/kvm/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/kvm/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicated/server/{serviceName}/kvm/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicated/server/{serviceName}/kvm/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'kvmExpress' option

`GET /1.0/order/dedicated/server/{serviceName}/kvmExpress`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-kvmexpress

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/kvmExpress/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/kvmExpress" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/kvmExpress")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/kvmExpress");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/kvmExpress/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-kvmexpress-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/kvmExpress/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/kvmExpress/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/kvmExpress/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/kvmExpress/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/kvmExpress/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-kvmexpress-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/kvmExpress/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/kvmExpress/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicated/server/{serviceName}/kvmExpress/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicated/server/{serviceName}/kvmExpress/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'professionalUse' option

`GET /1.0/order/dedicated/server/{serviceName}/professionalUse`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-professionaluse

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/professionalUse/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/professionalUse" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/professionalUse")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/professionalUse");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/professionalUse/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-professionaluse-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/professionalUse/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/professionalUse/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/professionalUse/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/professionalUse/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/professionalUse/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-professionaluse-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/professionalUse/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/professionalUse/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicated/server/{serviceName}/professionalUse/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicated/server/{serviceName}/professionalUse/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'traffic' option

`GET /1.0/order/dedicated/server/{serviceName}/traffic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-traffic

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/traffic/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your dedicated server |
| `traffic` | query | dedicated.server.TrafficOrderEnum | yes | amount of traffic to allocate — one of `100Mbps-Unlimited`, `250Mbps-Unlimited`, `500Mbps-Unlimited` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/traffic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/traffic")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/traffic");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/traffic/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-traffic-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/traffic/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |
| `traffic` | query | dedicated.server.TrafficOrderEnum | yes | amount of traffic to allocate — one of `100Mbps-Unlimited`, `250Mbps-Unlimited`, `500Mbps-Unlimited` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/traffic/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/traffic/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/traffic/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/traffic/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-traffic-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/traffic/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `traffic` | dedicated.server.TrafficOrderEnum | yes | amount of traffic to allocate — one of `100Mbps-Unlimited`, `250Mbps-Unlimited`, `500Mbps-Unlimited` |

```json
{
  "traffic": "100Mbps-Unlimited"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/traffic/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicated.server.TrafficOrderEnum
result = client.post("/order/dedicated/server/{serviceName}/traffic/{duration}",
	traffic = None, # amount of traffic to allocate (type: dedicated.server.TrafficOrderEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicated.server.TrafficOrderEnum
$result = $ovh->post("/order/dedicated/server/{serviceName}/traffic/{duration}", array(
	traffic => null, // amount of traffic to allocate (type: dedicated.server.TrafficOrderEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'usbKey' option

`GET /1.0/order/dedicated/server/{serviceName}/usbKey`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-usbkey

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/usbKey/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `capacity` | query | dedicated.server.UsbKeyCapacityEnum | yes | Capacity in gigabytes — one of `16`, `32`, `64`, `128`, `256` |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/usbKey" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/usbKey")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/usbKey");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicated/server/{serviceName}/usbKey/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicated-server-servicename-usbkey-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/usbKey/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `capacity` | query | dedicated.server.UsbKeyCapacityEnum | yes | Capacity in gigabytes — one of `16`, `32`, `64`, `128`, `256` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/usbKey/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicated/server/{serviceName}/usbKey/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicated/server/{serviceName}/usbKey/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicated/server/{serviceName}/usbKey/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicated-server-servicename-usbkey-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:dedicated/server/usbKey/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your dedicated server |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `capacity` | dedicated.server.UsbKeyCapacityEnum | yes | Capacity in gigabytes — one of `16`, `32`, `64`, `128`, `256` |

```json
{
  "capacity": 16
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicated/server/{serviceName}/usbKey/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicated.server.UsbKeyCapacityEnum
result = client.post("/order/dedicated/server/{serviceName}/usbKey/{duration}",
	capacity = None, # Capacity in gigabytes (type: dedicated.server.UsbKeyCapacityEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicated.server.UsbKeyCapacityEnum
$result = $ovh->post("/order/dedicated/server/{serviceName}/usbKey/{duration}", array(
	capacity => null, // Capacity in gigabytes (type: dedicated.server.UsbKeyCapacityEnum)
));

print_r($result);
?>
```

## List VMware on OVHcloud service options

`GET /1.0/order/dedicatedCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/dedicatedCloud/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'additionalBandwidth' option

`GET /1.0/order/dedicatedCloud/{serviceName}/additionalBandwidth`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-additionalbandwidth

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/additionalBandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `bandwidth` | query | dedicatedCloud.AdditionalBandwidthEnum | yes | How much additional bandwidth do you want ? — one of `1500` |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/additionalBandwidth" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/additionalBandwidth")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/additionalBandwidth");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-additionalbandwidth-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/additionalBandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `bandwidth` | query | dedicatedCloud.AdditionalBandwidthEnum | yes | How much additional bandwidth do you want ? — one of `1500` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-additionalbandwidth-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/additionalBandwidth/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bandwidth` | dedicatedCloud.AdditionalBandwidthEnum | yes | How much additional bandwidth do you want ? — one of `1500` |

```json
{
  "bandwidth": "1500"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicatedCloud.AdditionalBandwidthEnum
result = client.post("/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}",
	bandwidth = None, # How much additional bandwidth do you want ? (type: dedicatedCloud.AdditionalBandwidthEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicatedCloud.AdditionalBandwidthEnum
$result = $ovh->post("/order/dedicatedCloud/{serviceName}/additionalBandwidth/{duration}", array(
	bandwidth => null, // How much additional bandwidth do you want ? (type: dedicatedCloud.AdditionalBandwidthEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'filer' option

`GET /1.0/order/dedicatedCloud/{serviceName}/filer`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-filer

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/filer/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `datacenterId` | query | integer |  | Datacenter where the filer will be mounted (if not specified, will be mounted in each Datacenter of this VMware on OVHcloud) |
| `name` | query | string | yes | Filer profile you want to order ("name" field in a profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableFilerProfiles) |
| `quantity` | query | integer |  | Quantity of filer you want to order (default 1) |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/filer" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/filer")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/filer");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/filer/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-filer-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/filer/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `datacenterId` | query | integer |  | Datacenter where the filer will be mounted (if not specified, will be mounted in each Datacenter of this VMware on OVHcloud) |
| `duration` | path | string | yes | Duration |
| `name` | query | string | yes | Filer profile you want to order ("name" field in a profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableFilerProfiles) |
| `quantity` | query | integer |  | Quantity of filer you want to order (default 1) |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/filer/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/filer/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/filer/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/filer/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-filer-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/filer/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `datacenterId` | integer |  | Datacenter where the filer will be mounted (if not specified, will be mounted in each Datacenter of this VMware on OVHcloud) |
| `name` | string | yes | Filer profile you want to order ("name" field in a profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableFilerProfiles) |
| `quantity` | integer |  | Quantity of filer you want to order (default 1) |

```json
{
  "datacenterId": 0,
  "name": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/filer/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/dedicatedCloud/{serviceName}/filer/{duration}",
	datacenterId = None, # Datacenter where the filer will be mounted (if not specified, will be mounted in each Datacenter of this VMware on OVHcloud) (type: long, nullable)
	name = None, # Filer profile you want to order ("name" field in a profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableFilerProfiles) (type: string)
	quantity = None, # Quantity of filer you want to order (default 1) (type: long, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/dedicatedCloud/{serviceName}/filer/{duration}", array(
	datacenterId => null, // Datacenter where the filer will be mounted (if not specified, will be mounted in each Datacenter of this VMware on OVHcloud) (type: long, nullable)
	name => null, // Filer profile you want to order ("name" field in a profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableFilerProfiles) (type: string)
	quantity => null, // Quantity of filer you want to order (default 1) (type: long, nullable)
));

print_r($result);
?>
```

## Get allowed durations for 'host' option

`GET /1.0/order/dedicatedCloud/{serviceName}/host`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-host

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/host/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `datacenterId` | query | integer | yes | Datacenter where the Host will be added |
| `name` | query | string | yes | Host profile you want to order ("name" field of a Profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableHostProfiles) |
| `quantity` | query | integer |  | Quantity of hosts you want to order (default 1) |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/host" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/host")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/host");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/host/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-host-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/host/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `datacenterId` | query | integer | yes | Datacenter where the Host will be added |
| `duration` | path | string | yes | Duration |
| `name` | query | string | yes | Host profile you want to order ("name" field of a Profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableHostProfiles) |
| `quantity` | query | integer |  | Quantity of hosts you want to order (default 1) |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/host/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/host/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/host/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/host/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-host-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/host/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `datacenterId` | integer | yes | Datacenter where the Host will be added |
| `name` | string | yes | Host profile you want to order ("name" field of a Profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableHostProfiles) |
| `quantity` | integer |  | Quantity of hosts you want to order (default 1) |

```json
{
  "datacenterId": 0,
  "name": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/host/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/dedicatedCloud/{serviceName}/host/{duration}",
	datacenterId = None, # Datacenter where the Host will be added (type: long)
	name = None, # Host profile you want to order ("name" field of a Profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableHostProfiles) (type: string)
	quantity = None, # Quantity of hosts you want to order (default 1) (type: long, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/dedicatedCloud/{serviceName}/host/{duration}", array(
	datacenterId => null, // Datacenter where the Host will be added (type: long)
	name => null, // Host profile you want to order ("name" field of a Profile returned by /dedicatedCloud/{serviceName}/datacenter/{datacenterId}/orderableHostProfiles) (type: string)
	quantity => null, // Quantity of hosts you want to order (default 1) (type: long, nullable)
));

print_r($result);
?>
```

## Get allowed durations for 'ip' option

`GET /1.0/order/dedicatedCloud/{serviceName}/ip`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-ip

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/ip/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `country` | query | dedicatedCloud.IpCountriesEnum | yes | This Ip block country — one of `be`, `ca`, `ch`, `cz`, `de`, `es`, `fi`, `fr`, `gb`, `ie`, `it`, `lt`, … |
| `description` | query | string | yes | Information visible on whois (minimum 3 and maximum 250 alphanumeric characters) |
| `estimatedClientsNumber` | query | integer | yes | How much clients would be hosted on those ips ? |
| `networkName` | query | string | yes | Information visible on whois (between 2 and maximum 20 alphanumeric characters) |
| `serviceName` | path | string | yes |  |
| `size` | query | dedicatedCloud.OrderableIpBlockRangeEnum | yes | The network ranges orderable — one of `24`, `25`, `26`, `27`, `28` |
| `usage` | query | string | yes | Basic information of how will this bloc be used (as "web","ssl","cloud" or other things) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/ip" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/ip")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/ip");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/ip/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-ip-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/ip/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `country` | query | dedicatedCloud.IpCountriesEnum | yes | This Ip block country — one of `be`, `ca`, `ch`, `cz`, `de`, `es`, `fi`, `fr`, `gb`, `ie`, `it`, `lt`, … |
| `description` | query | string | yes | Information visible on whois (minimum 3 and maximum 250 alphanumeric characters) |
| `duration` | path | string | yes | Duration |
| `estimatedClientsNumber` | query | integer | yes | How much clients would be hosted on those ips ? |
| `networkName` | query | string | yes | Information visible on whois (between 2 and maximum 20 alphanumeric characters) |
| `serviceName` | path | string | yes |  |
| `size` | query | dedicatedCloud.OrderableIpBlockRangeEnum | yes | The network ranges orderable — one of `24`, `25`, `26`, `27`, `28` |
| `usage` | query | string | yes | Basic information of how will this bloc be used (as "web","ssl","cloud" or other things) |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/ip/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/ip/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/ip/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/ip/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-ip-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/ip/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `country` | dedicatedCloud.IpCountriesEnum | yes | This Ip block country — one of `be`, `ca`, `ch`, `cz`, `de`, `es`, `fi`, `fr`, `gb`, `ie`, `it`, `lt`, … |
| `description` | string | yes | Information visible on whois (minimum 3 and maximum 250 alphanumeric characters) |
| `estimatedClientsNumber` | integer | yes | How much clients would be hosted on those ips ? |
| `networkName` | string | yes | Information visible on whois (between 2 and maximum 20 alphanumeric characters) |
| `size` | dedicatedCloud.OrderableIpBlockRangeEnum | yes | The network ranges orderable — one of `24`, `25`, `26`, `27`, `28` |
| `usage` | string | yes | Basic information of how will this bloc be used (as "web","ssl","cloud" or other things) |

```json
{
  "country": "be",
  "description": "string",
  "estimatedClientsNumber": 0,
  "networkName": "string",
  "size": "24",
  "usage": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/ip/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicatedCloud/{serviceName}/ip/{duration}",
	country = None, # This Ip block country (type: dedicatedCloud.IpCountriesEnum)
	description = None, # Information visible on whois (minimum 3 and maximum 250 alphanumeric characters) (type: string)
	estimatedClientsNumber = None, # How much clients would be hosted on those ips ? (type: long)
	networkName = None, # Information visible on whois (between 2 and maximum 20 alphanumeric characters) (type: string)
	size = None, # The network ranges orderable (type: dedicatedCloud.OrderableIpBlockRangeEnum)
	usage = None, # Basic information of how will this bloc be used (as "web","ssl","cloud" or other things) (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicatedCloud/{serviceName}/ip/{duration}", array(
	country => null, // This Ip block country (type: dedicatedCloud.IpCountriesEnum)
	description => null, // Information visible on whois (minimum 3 and maximum 250 alphanumeric characters) (type: string)
	estimatedClientsNumber => null, // How much clients would be hosted on those ips ? (type: long)
	networkName => null, // Information visible on whois (between 2 and maximum 20 alphanumeric characters) (type: string)
	size => null, // The network ranges orderable (type: dedicatedCloud.OrderableIpBlockRangeEnum)
	usage => null, // Basic information of how will this bloc be used (as "web","ssl","cloud" or other things) (type: string)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/spla`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-spla

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/spla/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/spla" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/spla")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/spla");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/spla`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-spla

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/spla/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/spla" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/dedicatedCloud/{serviceName}/spla")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/dedicatedCloud/{serviceName}/spla");

print_r($result);
?>
```

## Get allowed durations for 'upgradeRessource' option

`GET /1.0/order/dedicatedCloud/{serviceName}/upgradeRessource`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-upgraderessource

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/upgradeRessource/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes |  |
| `upgradeType` | query | dedicatedCloud.ressources.UpgradeTypeEnum | yes | The type of upgrade you want to process on the ressource(s) — one of `demoToMonthly`, `freeSpareToHourly`, `hourlyToMonthly` |
| `upgradedRessourceId` | query | integer |  | The id of a particular ressource you want to upgrade in your VMware on OVHcloud (useless for "all" UpgradeRessourceTypeEnum) |
| `upgradedRessourceType` | query | dedicatedCloud.ressources.UpgradeRessourceTypeEnum | yes | The type of ressource you want to upgrade. — one of `account`, `all`, `filer`, `host` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/upgradeRessource" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/upgradeRessource")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/upgradeRessource");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-upgraderessource-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/upgradeRessource/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |
| `upgradeType` | query | dedicatedCloud.ressources.UpgradeTypeEnum | yes | The type of upgrade you want to process on the ressource(s) — one of `demoToMonthly`, `freeSpareToHourly`, `hourlyToMonthly` |
| `upgradedRessourceId` | query | integer |  | The id of a particular ressource you want to upgrade in your VMware on OVHcloud (useless for "all" UpgradeRessourceTypeEnum) |
| `upgradedRessourceType` | query | dedicatedCloud.ressources.UpgradeRessourceTypeEnum | yes | The type of ressource you want to upgrade. — one of `account`, `all`, `filer`, `host` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-upgraderessource-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/upgradeRessource/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `upgradeType` | dedicatedCloud.ressources.UpgradeTypeEnum | yes | The type of upgrade you want to process on the ressource(s) — one of `demoToMonthly`, `freeSpareToHourly`, `hourlyToMonthly` |
| `upgradedRessourceId` | integer |  | The id of a particular ressource you want to upgrade in your VMware on OVHcloud (useless for "all" UpgradeRessourceTypeEnum) |
| `upgradedRessourceType` | dedicatedCloud.ressources.UpgradeRessourceTypeEnum | yes | The type of ressource you want to upgrade. — one of `account`, `all`, `filer`, `host` |

```json
{
  "upgradeType": "demoToMonthly",
  "upgradedRessourceId": 0,
  "upgradedRessourceType": "account"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: dedicatedCloud.ressources.UpgradeRessourceTypeEnum
result = client.post("/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}",
	upgradeType = None, # The type of upgrade you want to process on the ressource(s) (type: dedicatedCloud.ressources.UpgradeTypeEnum)
	upgradedRessourceId = None, # The id of a particular ressource you want to upgrade in your VMware on OVHcloud (useless for "all" UpgradeRessourceTypeEnum) (type: long, nullable)
	upgradedRessourceType = None, # The type of ressource you want to upgrade. (type: dedicatedCloud.ressources.UpgradeRessourceTypeEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: dedicatedCloud.ressources.UpgradeRessourceTypeEnum
$result = $ovh->post("/order/dedicatedCloud/{serviceName}/upgradeRessource/{duration}", array(
	upgradeType => null, // The type of upgrade you want to process on the ressource(s) (type: dedicatedCloud.ressources.UpgradeTypeEnum)
	upgradedRessourceId => null, // The id of a particular ressource you want to upgrade in your VMware on OVHcloud (useless for "all" UpgradeRessourceTypeEnum) (type: long, nullable)
	upgradedRessourceType => null, // The type of ressource you want to upgrade. (type: dedicatedCloud.ressources.UpgradeRessourceTypeEnum)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/dedicatedCloud/{serviceName}/vdi`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-dedicatedcloud-servicename-vdi

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/vdi/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `datacenterId` | query | integer | yes | Datacenter where the VDI option will be enabled |
| `firstPublicIpAddress` | query | ip | yes | An available ip from one of your VMware on OVHcloud public IP blocks |
| `secondPublicIpAddress` | query | ip | yes | Another available ip from one of your VMware on OVHcloud public IP blocks |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/vdi" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/dedicatedCloud/{serviceName}/vdi")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/dedicatedCloud/{serviceName}/vdi");

print_r($result);
?>
```

## Create order

`POST /1.0/order/dedicatedCloud/{serviceName}/vdi`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-dedicatedcloud-servicename-vdi

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-06-01, removed on 2019-07-01; use `/order/cart/{cartId}/privateCloud` instead.  
**IAM actions:** `order:apiovh:pccVMware/vdi/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `datacenterId` | integer | yes | Datacenter where the VDI option will be enabled |
| `firstPublicIpAddress` | ip | yes | An available ip from one of your VMware on OVHcloud public IP blocks |
| `secondPublicIpAddress` | ip | yes | Another available ip from one of your VMware on OVHcloud public IP blocks |

```json
{
  "datacenterId": 0,
  "firstPublicIpAddress": "192.0.2.0",
  "secondPublicIpAddress": "192.0.2.0"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/dedicatedCloud/{serviceName}/vdi" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: ip
result = client.post("/order/dedicatedCloud/{serviceName}/vdi",
	datacenterId = None, # Datacenter where the VDI option will be enabled (type: long)
	firstPublicIpAddress = None, # An available ip from one of your VMware on OVHcloud public IP blocks (type: ip)
	secondPublicIpAddress = None, # Another available ip from one of your VMware on OVHcloud public IP blocks (type: ip)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: ip
$result = $ovh->post("/order/dedicatedCloud/{serviceName}/vdi", array(
	datacenterId => null, // Datacenter where the VDI option will be enabled (type: long)
	firstPublicIpAddress => null, // An available ip from one of your VMware on OVHcloud public IP blocks (type: ip)
	secondPublicIpAddress => null, // Another available ip from one of your VMware on OVHcloud public IP blocks (type: ip)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/domain/zone`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-domain-zone

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/dns` instead.  
**IAM actions:** `order:apiovh:domain/zone/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/domain/zone")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/domain/zone");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/domain/zone/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-domain-zone-new

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/dns` instead.  
**IAM actions:** `order:apiovh:domain/zone/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `minimized` | query | boolean |  | Create only mandatory records |
| `zoneName` | query | string | yes | Name of the zone to create |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/domain/zone/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/domain/zone/new");

print_r($result);
?>
```

## Create order

`POST /1.0/order/domain/zone/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-domain-zone-new

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/dns` instead.  
**IAM actions:** `order:apiovh:domain/zone/new/create`

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `minimized` | boolean |  | Create only mandatory records |
| `zoneName` | string | yes | Name of the zone to create |

```json
{
  "minimized": true,
  "zoneName": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/domain/zone/new",
	minimized = None, # Create only mandatory records (type: boolean, nullable)
	zoneName = None, # Name of the zone to create (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/domain/zone/new", array(
	minimized => null, // Create only mandatory records (type: boolean, nullable)
	zoneName => null, // Name of the zone to create (type: string)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/domain/zone/{zoneName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-domain-zone-zonename

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cartServiceOption/dns/{serviceName}` instead.  
**IAM actions:** `order:apiovh:domain/zone/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `zoneName` | path | string | yes | The internal name of your zone |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone/{zoneName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/domain/zone/{zoneName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/domain/zone/{zoneName}");

print_r($result);
?>
```

## Get allowed durations for 'dnsAnycast' option

`GET /1.0/order/domain/zone/{zoneName}/dnsAnycast`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-domain-zone-zonename-dnsanycast

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `POST /order/cartServiceOption/dns/{serviceName}` instead.  
**IAM actions:** `order:apiovh:domain/zone/dnsAnycast/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `zoneName` | path | string | yes | The internal name of your zone |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone/{zoneName}/dnsAnycast" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/domain/zone/{zoneName}/dnsAnycast")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/domain/zone/{zoneName}/dnsAnycast");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/domain/zone/{zoneName}/dnsAnycast/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-domain-zone-zonename-dnsanycast-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `POST /order/cartServiceOption/dns/{serviceName}` instead.  
**IAM actions:** `order:apiovh:domain/zone/dnsAnycast/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `zoneName` | path | string | yes | The internal name of your zone |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone/{zoneName}/dnsAnycast/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/domain/zone/{zoneName}/dnsAnycast/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/domain/zone/{zoneName}/dnsAnycast/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/domain/zone/{zoneName}/dnsAnycast/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-domain-zone-zonename-dnsanycast-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `POST /order/cartServiceOption/dns/{serviceName}` instead.  
**IAM actions:** `order:apiovh:domain/zone/dnsAnycast/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `zoneName` | path | string | yes | The internal name of your zone |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/domain/zone/{zoneName}/dnsAnycast/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/domain/zone/{zoneName}/dnsAnycast/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/domain/zone/{zoneName}/dnsAnycast/{duration}");

print_r($result);
?>
```

## List MX Plan domains

`GET /1.0/order/email/domain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-domain

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `order:apiovh:email/domain/get`

List MX Plan domains. Returns the domains of the account with an MX Plan email service. Filter them by IAM tags with `iamTags`.

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/domain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/domain");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/email/domain/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-domain-new

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `account:apiovh:order/email/domain/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | query | string | yes | Domain name which will be linked to this mx account |
| `offer` | query | email.domain.OfferEnum | yes | Offer for your new mx account — one of `100`, `25`, `5`, `FULL` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/domain/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/domain/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/domain/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-domain-new-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `account:apiovh:order/email/domain/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | query | string | yes | Domain name which will be linked to this mx account |
| `duration` | path | string | yes | Duration |
| `offer` | query | email.domain.OfferEnum | yes | Offer for your new mx account — one of `100`, `25`, `5`, `FULL` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/domain/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/domain/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/domain/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-domain-new-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `account:apiovh:order/email/domain/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `domain` | string | yes | Domain name which will be linked to this mx account |
| `offer` | email.domain.OfferEnum | yes | Offer for your new mx account — one of `100`, `25`, `5`, `FULL` |

```json
{
  "domain": "string",
  "offer": "100"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/email/domain/new/{duration}",
	domain = None, # Domain name which will be linked to this mx account (type: string)
	offer = None, # Offer for your new mx account (type: email.domain.OfferEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/email/domain/new/{duration}", array(
	domain => null, // Domain name which will be linked to this mx account (type: string)
	offer => null, // Offer for your new mx account (type: email.domain.OfferEnum)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/email/domain/{domain}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-domain-domain

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `order:apiovh:email/domain/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Name of your domain name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/{domain}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/domain/{domain}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/domain/{domain}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/email/domain/{domain}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-domain-domain-upgrade

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `order:apiovh:email/domain/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Name of your domain name |
| `offer` | query | email.domain.OfferEnum | yes | New offers for your hosting account — one of `100`, `25`, `5`, `FULL` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/{domain}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/domain/{domain}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/domain/{domain}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/domain/{domain}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-domain-domain-upgrade-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `order:apiovh:email/domain/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Name of your domain name |
| `duration` | path | string | yes | Duration |
| `offer` | query | email.domain.OfferEnum | yes | New offers for your hosting account — one of `100`, `25`, `5`, `FULL` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/{domain}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/domain/{domain}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/domain/{domain}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/domain/{domain}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-domain-domain-upgrade-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/emailDomain` instead.  
**IAM actions:** `order:apiovh:email/domain/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Name of your domain name |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `offer` | email.domain.OfferEnum | yes | New offers for your hosting account — one of `100`, `25`, `5`, `FULL` |

```json
{
  "offer": "100"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/domain/{domain}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: email.domain.OfferEnum
result = client.post("/order/email/domain/{domain}/upgrade/{duration}",
	offer = None, # New offers for your hosting account (type: email.domain.OfferEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: email.domain.OfferEnum
$result = $ovh->post("/order/email/domain/{domain}/upgrade/{duration}", array(
	offer => null, // New offers for your hosting account (type: email.domain.OfferEnum)
));

print_r($result);
?>
```

## List Exchange organizations

`GET /1.0/order/email/exchange`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/get`

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

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange");

print_r($result);
?>
```

## List Exchange services

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

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/get`

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

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service");

print_r($result);
?>
```

## Get allowed options

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

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}");

print_r($result);
?>
```

## Get allowed durations for 'account' option

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/account`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-account

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/account/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `licence` | query | email.exchange.OvhLicenceEnum | yes | Licence type for the account — one of `basic`, `enterprise`, `standard` |
| `number` | query | integer | yes | Number of Accounts to order |
| `organizationName` | path | string | yes | The internal name of your exchange organization |
| `storageQuota` | query | email.exchange.accountQuotaEnum |  | The storage quota for the account(s) in GB (default = 50) — one of `50`, `300` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/account" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/account")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/account");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-account-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/account/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `licence` | query | email.exchange.OvhLicenceEnum | yes | Licence type for the account — one of `basic`, `enterprise`, `standard` |
| `number` | query | integer | yes | Number of Accounts to order |
| `organizationName` | path | string | yes | The internal name of your exchange organization |
| `storageQuota` | query | email.exchange.accountQuotaEnum |  | The storage quota for the account(s) in GB (default = 50) — one of `50`, `300` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-exchange-organizationname-service-exchangeservice-account-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/account/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `licence` | email.exchange.OvhLicenceEnum | yes | Licence type for the account — one of `basic`, `enterprise`, `standard` |
| `number` | integer | yes | Number of Accounts to order |
| `storageQuota` | email.exchange.accountQuotaEnum |  | The storage quota for the account(s) in GB (default = 50) — one of `50`, `300` |

```json
{
  "licence": "basic",
  "number": 0,
  "storageQuota": 50
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: email.exchange.accountQuotaEnum
result = client.post("/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}",
	licence = None, # Licence type for the account (type: email.exchange.OvhLicenceEnum)
	number = None, # Number of Accounts to order (type: long)
	storageQuota = None, # The storage quota for the account(s) in GB (default = 50) (type: email.exchange.accountQuotaEnum, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: email.exchange.accountQuotaEnum
$result = $ovh->post("/order/email/exchange/{organizationName}/service/{exchangeService}/account/{duration}", array(
	licence => null, // Licence type for the account (type: email.exchange.OvhLicenceEnum)
	number => null, // Number of Accounts to order (type: long)
	storageQuota => null, // The storage quota for the account(s) in GB (default = 50) (type: email.exchange.accountQuotaEnum, nullable)
));

print_r($result);
?>
```

## Get allowed durations for 'accountUpgrade' option

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-accountupgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/accountUpgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `newQuota` | query | email.exchange.accountQuotaEnum | yes | New storage quota for that account — one of `50`, `300` |
| `organizationName` | path | string | yes | The internal name of your exchange organization |
| `primaryEmailAddress` | query | string | yes | The account you wish to upgrade |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-accountupgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/accountUpgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `newQuota` | query | email.exchange.accountQuotaEnum | yes | New storage quota for that account — one of `50`, `300` |
| `organizationName` | path | string | yes | The internal name of your exchange organization |
| `primaryEmailAddress` | query | string | yes | The account you wish to upgrade |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-exchange-organizationname-service-exchangeservice-accountupgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/accountUpgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `newQuota` | email.exchange.accountQuotaEnum | yes | New storage quota for that account — one of `50`, `300` |
| `primaryEmailAddress` | string | yes | The account you wish to upgrade |

```json
{
  "newQuota": 50,
  "primaryEmailAddress": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}",
	newQuota = None, # New storage quota for that account (type: email.exchange.accountQuotaEnum)
	primaryEmailAddress = None, # The account you wish to upgrade (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/email/exchange/{organizationName}/service/{exchangeService}/accountUpgrade/{duration}", array(
	newQuota => null, // New storage quota for that account (type: email.exchange.accountQuotaEnum)
	primaryEmailAddress => null, // The account you wish to upgrade (type: string)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-diskspace

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/diskSpace/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-exchange-organizationname-service-exchangeservice-diskspace

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/diskSpace/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/email/exchange/{organizationName}/service/{exchangeService}/diskSpace");

print_r($result);
?>
```

## Get allowed durations for 'outlook' option

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/outlook`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-outlook

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/outlook/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `licence` | query | email.exchange.OutlookVersionEnum | yes | Outlook version — one of `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` |
| `organizationName` | path | string | yes | The internal name of your exchange organization |
| `primaryEmailAddress` | query | string | yes | Primary email address for account which You want to buy an outlook |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/outlook" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/outlook")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/outlook");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-outlook-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/outlook/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `licence` | query | email.exchange.OutlookVersionEnum | yes | Outlook version — one of `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` |
| `organizationName` | path | string | yes | The internal name of your exchange organization |
| `primaryEmailAddress` | query | string | yes | Primary email address for account which You want to buy an outlook |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-exchange-organizationname-service-exchangeservice-outlook-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/outlook/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `licence` | email.exchange.OutlookVersionEnum | yes | Outlook version — one of `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` |
| `primaryEmailAddress` | string | yes | Primary email address for account which You want to buy an outlook |

```json
{
  "licence": "mac_x86_2016",
  "primaryEmailAddress": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}",
	licence = None, # Outlook version (type: email.exchange.OutlookVersionEnum)
	primaryEmailAddress = None, # Primary email address for account which You want to buy an outlook (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/email/exchange/{organizationName}/service/{exchangeService}/outlook/{duration}", array(
	licence => null, // Outlook version (type: email.exchange.OutlookVersionEnum)
	primaryEmailAddress => null, // Primary email address for account which You want to buy an outlook (type: string)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-exchange-organizationname-service-exchangeservice-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-exchange-organizationname-service-exchangeservice-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/exchange/service/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `exchangeService` | path | string | yes | The internal name of your exchange service |
| `organizationName` | path | string | yes | The internal name of your exchange organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/email/exchange/{organizationName}/service/{exchangeService}/upgrade");

print_r($result);
?>
```

## List Email Pro services

`GET /1.0/order/email/pro`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-pro

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/pro/get`

List Email Pro services. Returns the names of the Email Pro services of the account. Filter them by IAM tags with `iamTags`.

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/pro" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/pro")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/pro");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/email/pro/{service}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-pro-service

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/pro/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `service` | path | string | yes | The internal name of your pro organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/pro/{service}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/pro/{service}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/pro/{service}");

print_r($result);
?>
```

## Get allowed durations for 'account' option

`GET /1.0/order/email/pro/{service}/account`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-pro-service-account

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/pro/account/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `number` | query | integer | yes | Number of Accounts to order |
| `service` | path | string | yes | The internal name of your pro organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/pro/{service}/account" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/pro/{service}/account")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/pro/{service}/account");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/email/pro/{service}/account/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-email-pro-service-account-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/pro/account/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `number` | query | integer | yes | Number of Accounts to order |
| `service` | path | string | yes | The internal name of your pro organization |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/email/pro/{service}/account/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/email/pro/{service}/account/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/email/pro/{service}/account/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/email/pro/{service}/account/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-email-pro-service-account-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:email/pro/account/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `service` | path | string | yes | The internal name of your pro organization |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `number` | integer | yes | Number of Accounts to order |

```json
{
  "number": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/email/pro/{service}/account/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/email/pro/{service}/account/{duration}",
	number = None, # Number of Accounts to order (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/email/pro/{service}/account/{duration}", array(
	number => null, // Number of Accounts to order (type: long)
));

print_r($result);
?>
```

## Freefax line accounts

`GET /1.0/order/freefax`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-freefax

**Status:** Stable production version  
**IAM actions:** `order:apiovh:freefax/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/freefax" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/freefax")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/freefax");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/freefax/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-freefax-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/freefax/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `quantity` | query | freefax.QuantityEnum | yes | Fax quantity possibilities to purchase — one of `10`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`, `10000`, `100000` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/freefax/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/freefax/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/freefax/new");

print_r($result);
?>
```

## Create order

`POST /1.0/order/freefax/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-freefax-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/freefax/new/create`

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `quantity` | freefax.QuantityEnum | yes | Fax quantity possibilities to purchase — one of `10`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`, `10000`, `100000` |

```json
{
  "quantity": 10
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/freefax/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: freefax.QuantityEnum
result = client.post("/order/freefax/new",
	quantity = None, # Fax quantity possibilities to purchase (type: freefax.QuantityEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: freefax.QuantityEnum
$result = $ovh->post("/order/freefax/new", array(
	quantity => null, // Fax quantity possibilities to purchase (type: freefax.QuantityEnum)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/freefax/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-freefax-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:freefax/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Freefax number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/freefax/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/freefax/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/freefax/{serviceName}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/freefax/{serviceName}/convertToVoicefax`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-freefax-servicename-converttovoicefax

**Status:** Stable production version  
**IAM actions:** `order:apiovh:freefax/convertToVoicefax/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | query | string | yes | The /telephony billing account you want your service to be attached to |
| `serviceName` | path | string | yes | Freefax number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/freefax/{serviceName}/convertToVoicefax" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/freefax/{serviceName}/convertToVoicefax")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/freefax/{serviceName}/convertToVoicefax");

print_r($result);
?>
```

## Create order

`POST /1.0/order/freefax/{serviceName}/convertToVoicefax`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-freefax-servicename-converttovoicefax

**Status:** Stable production version  
**IAM actions:** `order:apiovh:freefax/convertToVoicefax/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Freefax number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `billingAccount` | string | yes | The /telephony billing account you want your service to be attached to |

```json
{
  "billingAccount": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/freefax/{serviceName}/convertToVoicefax" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.post("/order/freefax/{serviceName}/convertToVoicefax",
	billingAccount = None, # The /telephony billing account you want your service to be attached to (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->post("/order/freefax/{serviceName}/convertToVoicefax", array(
	billingAccount => null, // The /telephony billing account you want your service to be attached to (type: string)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/hosting/web`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-hosting-web

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/webHosting` instead.  
**IAM actions:** `order:apiovh:hosting/web/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/hosting/web" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/hosting/web")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/hosting/web");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/hosting/web/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-hosting-web-servicename

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/webHosting` instead.  
**IAM actions:** `order:apiovh:hosting/web/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your hosting |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/hosting/web/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/hosting/web/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/hosting/web/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/hosting/web/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-hosting-web-servicename-upgrade

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/webHosting` instead.  
**IAM actions:** `order:apiovh:hosting/web/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `offer` | query | hosting.web.OfferEnum | yes | New offers for your hosting account — one of `CLOUDWEB_1`, `CLOUDWEB_2`, `CLOUDWEB_3`, `KS`, `PERFORMANCE_1`, `PERFORMANCE_2`, `PERFORMANCE_3`, `PERFORMANCE_4`, `PERSO`, `POWER_BETA_1`, `PRO`, `START`, … |
| `serviceName` | path | string | yes | The internal name of your hosting |
| `startTime` | query | time |  | Upgrade start time if it implies a shutdown of the website during few minutes (Format "HH:MM:ss") |
| `waiveRetractationPeriod` | query | boolean |  | Indicates that order will be processed with waiving retractation period |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/hosting/web/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/hosting/web/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/hosting/web/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/hosting/web/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-hosting-web-servicename-upgrade-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/webHosting` instead.  
**IAM actions:** `order:apiovh:hosting/web/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `offer` | query | hosting.web.OfferEnum | yes | New offers for your hosting account — one of `CLOUDWEB_1`, `CLOUDWEB_2`, `CLOUDWEB_3`, `KS`, `PERFORMANCE_1`, `PERFORMANCE_2`, `PERFORMANCE_3`, `PERFORMANCE_4`, `PERSO`, `POWER_BETA_1`, `PRO`, `START`, … |
| `serviceName` | path | string | yes | The internal name of your hosting |
| `startTime` | query | time |  | Upgrade start time if it implies a shutdown of the website during few minutes (Format "HH:MM:ss") |
| `waiveRetractationPeriod` | query | boolean |  | Indicates that order will be processed with waiving retractation period |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/hosting/web/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/hosting/web/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/hosting/web/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/hosting/web/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-hosting-web-servicename-upgrade-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2019-12-01, removed on 2019-12-15; use `/order/cart/{cartId}/webHosting` instead.  
**IAM actions:** `order:apiovh:hosting/web/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your hosting |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `offer` | hosting.web.OfferEnum | yes | New offers for your hosting account — one of `CLOUDWEB_1`, `CLOUDWEB_2`, `CLOUDWEB_3`, `KS`, `PERFORMANCE_1`, `PERFORMANCE_2`, `PERFORMANCE_3`, `PERFORMANCE_4`, `PERSO`, `POWER_BETA_1`, `PRO`, `START`, … |
| `startTime` | time |  | Upgrade start time if it implies a shutdown of the website during few minutes (Format "HH:MM:ss") |
| `waiveRetractationPeriod` | boolean |  | Indicates that order will be processed with waiving retractation period |

```json
{
  "offer": "CLOUDWEB_1",
  "startTime": "15:04:05",
  "waiveRetractationPeriod": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/hosting/web/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: boolean
result = client.post("/order/hosting/web/{serviceName}/upgrade/{duration}",
	offer = None, # New offers for your hosting account (type: hosting.web.OfferEnum)
	startTime = None, # Upgrade start time if it implies a shutdown of the website during few minutes (Format "HH:MM:ss") (type: time, nullable)
	waiveRetractationPeriod = None, # Indicates that order will be processed with waiving retractation period (type: boolean, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: boolean
$result = $ovh->post("/order/hosting/web/{serviceName}/upgrade/{duration}", array(
	offer => null, // New offers for your hosting account (type: hosting.web.OfferEnum)
	startTime => null, // Upgrade start time if it implies a shutdown of the website during few minutes (Format "HH:MM:ss") (type: time, nullable)
	waiveRetractationPeriod => null, // Indicates that order will be processed with waiving retractation period (type: boolean, nullable)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/license/cpanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-cpanel

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/cpanel/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/cpanel")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/cpanel");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/license/cpanel/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-cpanel-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/cpanel/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed |
| `serviceType` | query | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `version` | query | license.OrderableCpanelVersionEnum | yes | This license version — one of `VERSION_11_FOR_LINUX`, `VERSION_11_FOR_VIRTUOZZO`, `VERSION_11_FOR_VPS`, `cpanel-license-admin-cloud`, `cpanel-license-plus-cloud`, `cpanel-license-premier-cloud-100-accounts`, `cpanel-license-premier-cloud-1000-accounts`, `cpanel-license-premier-cloud-10000-accounts`, `cpanel-license-premier-cloud-1100-accounts`, `cpanel-license-premier-cloud-1200-accounts`, `cpanel-license-premier-cloud-1300-accounts`, `cpanel-license-premier-cloud-1400-accounts`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/cpanel/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/cpanel/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/cpanel/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-cpanel-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/cpanel/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed |
| `serviceType` | query | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `version` | query | license.OrderableCpanelVersionEnum | yes | This license version — one of `VERSION_11_FOR_LINUX`, `VERSION_11_FOR_VIRTUOZZO`, `VERSION_11_FOR_VPS`, `cpanel-license-admin-cloud`, `cpanel-license-plus-cloud`, `cpanel-license-premier-cloud-100-accounts`, `cpanel-license-premier-cloud-1000-accounts`, `cpanel-license-premier-cloud-10000-accounts`, `cpanel-license-premier-cloud-1100-accounts`, `cpanel-license-premier-cloud-1200-accounts`, `cpanel-license-premier-cloud-1300-accounts`, `cpanel-license-premier-cloud-1400-accounts`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/cpanel/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/cpanel/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/cpanel/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-cpanel-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/cpanel/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ip` | ipv4 | yes | Ip on which this license would be installed |
| `serviceType` | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `version` | license.OrderableCpanelVersionEnum | yes | This license version — one of `VERSION_11_FOR_LINUX`, `VERSION_11_FOR_VIRTUOZZO`, `VERSION_11_FOR_VPS`, `cpanel-license-admin-cloud`, `cpanel-license-plus-cloud`, `cpanel-license-premier-cloud-100-accounts`, `cpanel-license-premier-cloud-1000-accounts`, `cpanel-license-premier-cloud-10000-accounts`, `cpanel-license-premier-cloud-1100-accounts`, `cpanel-license-premier-cloud-1200-accounts`, `cpanel-license-premier-cloud-1300-accounts`, `cpanel-license-premier-cloud-1400-accounts`, … |

```json
{
  "ip": "192.0.2.0",
  "serviceType": "dedicated",
  "version": "VERSION_11_FOR_LINUX"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: license.OrderableCpanelVersionEnum
result = client.post("/order/license/cpanel/new/{duration}",
	ip = None, # Ip on which this license would be installed (type: ipv4)
	serviceType = None, # # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # (type: license.LicenseTypeEnum, nullable)
	version = None, # This license version (type: license.OrderableCpanelVersionEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: license.OrderableCpanelVersionEnum
$result = $ovh->post("/order/license/cpanel/new/{duration}", array(
	ip => null, // Ip on which this license would be installed (type: ipv4)
	serviceType => null, // # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # (type: license.LicenseTypeEnum, nullable)
	version => null, // This license version (type: license.OrderableCpanelVersionEnum)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/license/cpanel/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-cpanel-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/cpanel/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your Cpanel license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/cpanel/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/cpanel/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/license/cpanel/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-cpanel-servicename-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/cpanel/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your Cpanel license |
| `version` | query | license.OrderableCpanelVersionEnum | yes | Wanted new version — one of `VERSION_11_FOR_LINUX`, `VERSION_11_FOR_VIRTUOZZO`, `VERSION_11_FOR_VPS`, `cpanel-license-admin-cloud`, `cpanel-license-plus-cloud`, `cpanel-license-premier-cloud-100-accounts`, `cpanel-license-premier-cloud-1000-accounts`, `cpanel-license-premier-cloud-10000-accounts`, `cpanel-license-premier-cloud-1100-accounts`, `cpanel-license-premier-cloud-1200-accounts`, `cpanel-license-premier-cloud-1300-accounts`, `cpanel-license-premier-cloud-1400-accounts`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/cpanel/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/cpanel/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/cpanel/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-cpanel-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/cpanel/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your Cpanel license |
| `version` | query | license.OrderableCpanelVersionEnum | yes | Wanted new version — one of `VERSION_11_FOR_LINUX`, `VERSION_11_FOR_VIRTUOZZO`, `VERSION_11_FOR_VPS`, `cpanel-license-admin-cloud`, `cpanel-license-plus-cloud`, `cpanel-license-premier-cloud-100-accounts`, `cpanel-license-premier-cloud-1000-accounts`, `cpanel-license-premier-cloud-10000-accounts`, `cpanel-license-premier-cloud-1100-accounts`, `cpanel-license-premier-cloud-1200-accounts`, `cpanel-license-premier-cloud-1300-accounts`, `cpanel-license-premier-cloud-1400-accounts`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/cpanel/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/cpanel/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/cpanel/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-cpanel-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/cpanel/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your Cpanel license |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `version` | license.OrderableCpanelVersionEnum | yes | Wanted new version — one of `VERSION_11_FOR_LINUX`, `VERSION_11_FOR_VIRTUOZZO`, `VERSION_11_FOR_VPS`, `cpanel-license-admin-cloud`, `cpanel-license-plus-cloud`, `cpanel-license-premier-cloud-100-accounts`, `cpanel-license-premier-cloud-1000-accounts`, `cpanel-license-premier-cloud-10000-accounts`, `cpanel-license-premier-cloud-1100-accounts`, `cpanel-license-premier-cloud-1200-accounts`, `cpanel-license-premier-cloud-1300-accounts`, `cpanel-license-premier-cloud-1400-accounts`, … |

```json
{
  "version": "VERSION_11_FOR_LINUX"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/cpanel/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: license.OrderableCpanelVersionEnum
result = client.post("/order/license/cpanel/{serviceName}/upgrade/{duration}",
	version = None, # Wanted new version (type: license.OrderableCpanelVersionEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: license.OrderableCpanelVersionEnum
$result = $ovh->post("/order/license/cpanel/{serviceName}/upgrade/{duration}", array(
	version => null, // Wanted new version (type: license.OrderableCpanelVersionEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/license/office/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-office-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/office/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `giftCode` | query | string |  | Gift code for office license |
| `officeBusinessQuantity` | query | integer |  | Number of prepaid office business license |
| `officeProPlusQuantity` | query | integer |  | Number of prepaid office pro plus license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/office/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/office/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/office/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/office/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-office-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/office/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `giftCode` | query | string |  | Gift code for office license |
| `officeBusinessQuantity` | query | integer |  | Number of prepaid office business license |
| `officeProPlusQuantity` | query | integer |  | Number of prepaid office pro plus license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/office/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/office/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/office/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/office/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-office-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/office/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `giftCode` | string |  | Gift code for office license |
| `officeBusinessQuantity` | integer |  | Number of prepaid office business license |
| `officeProPlusQuantity` | integer |  | Number of prepaid office pro plus license |

```json
{
  "giftCode": "string",
  "officeBusinessQuantity": 0,
  "officeProPlusQuantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/office/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/license/office/new/{duration}",
	giftCode = None, # Gift code for office license (type: string, nullable)
	officeBusinessQuantity = None, # Number of prepaid office business license (type: long, nullable)
	officeProPlusQuantity = None, # Number of prepaid office pro plus license (type: long, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/license/office/new/{duration}", array(
	giftCode => null, // Gift code for office license (type: string, nullable)
	officeBusinessQuantity => null, // Number of prepaid office business license (type: long, nullable)
	officeProPlusQuantity => null, // Number of prepaid office pro plus license (type: long, nullable)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/license/plesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-plesk

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/plesk/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/plesk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/plesk");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/license/plesk/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-plesk-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/plesk/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `antivirus` | query | license.OrderableAntivirusEnum |  | The antivirus to enable on this Plesk license — one of `DR_WEB`, `KASPERSKY_UNLIMITED_MAILBOXES`, `kaspersky` |
| `applicationSet` | query | license.PleskApplicationSetEnum |  | Wanted application set — one of `applicationpack`, `developerpack`, `power-pack-for-plesk12`, `powerpack` |
| `domainNumber` | query | license.OrderablePleskDomainNumberEnum |  | This license domain number — one of `10`, `100`, `30`, `300`, `hostingsuite`, `unlimited` |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed |
| `languagePackNumber` | query | license.OrderablePleskLanguagePackEnum |  | The amount of language pack numbers to include in this licences — one of `1`, `1-extra-language-for-plesk`, `1-extra-language-for-plesk-for-vps`, `1-extra-language-for-plesk12`, `1-extra-language-for-plesk12-for-vps`, `1-extra-language-pack-for-plesk`, `2`, `2-extra-languages-for-plesk`, `2-extra-languages-for-plesk-for-vps`, `2-extra-languages-for-plesk12`, `2-extra-languages-for-plesk12-for-vps`, `2-extra-languages-pack-for-plesk`, … |
| `powerpack` | query | boolean |  | powerpack current activation state on your license |
| `resellerManagement` | query | boolean |  | Reseller management option activation |
| `serviceType` | query | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `version` | query | license.PleskVersionEnum | yes | This license version — one of `PLESK_10_AND_LATER`, `PLESK_10_AND_LATER_FOR_KVM`, `PLESK_10_AND_LATER_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN_FOR_XEN`, `PLESK_10_AND_LATER_FOR_XEN`, `PLESK_12_VPS_WEB_ADMIN`, `PLESK_12_VPS_WEB_APP`, `PLESK_12_VPS_WEB_HOST`, … |
| `wordpressToolkit` | query | boolean |  | WordpressToolkit option activation |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/plesk/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/plesk/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/plesk/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-plesk-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/plesk/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `antivirus` | query | license.OrderableAntivirusEnum |  | The antivirus to enable on this Plesk license — one of `DR_WEB`, `KASPERSKY_UNLIMITED_MAILBOXES`, `kaspersky` |
| `applicationSet` | query | license.PleskApplicationSetEnum |  | Wanted application set — one of `applicationpack`, `developerpack`, `power-pack-for-plesk12`, `powerpack` |
| `domainNumber` | query | license.OrderablePleskDomainNumberEnum |  | This license domain number — one of `10`, `100`, `30`, `300`, `hostingsuite`, `unlimited` |
| `duration` | path | string | yes | Duration |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed |
| `languagePackNumber` | query | license.OrderablePleskLanguagePackEnum |  | The amount of language pack numbers to include in this licences — one of `1`, `1-extra-language-for-plesk`, `1-extra-language-for-plesk-for-vps`, `1-extra-language-for-plesk12`, `1-extra-language-for-plesk12-for-vps`, `1-extra-language-pack-for-plesk`, `2`, `2-extra-languages-for-plesk`, `2-extra-languages-for-plesk-for-vps`, `2-extra-languages-for-plesk12`, `2-extra-languages-for-plesk12-for-vps`, `2-extra-languages-pack-for-plesk`, … |
| `powerpack` | query | boolean |  | powerpack current activation state on your license |
| `resellerManagement` | query | boolean |  | Reseller management option activation |
| `serviceType` | query | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `version` | query | license.PleskVersionEnum | yes | This license version — one of `PLESK_10_AND_LATER`, `PLESK_10_AND_LATER_FOR_KVM`, `PLESK_10_AND_LATER_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN_FOR_XEN`, `PLESK_10_AND_LATER_FOR_XEN`, `PLESK_12_VPS_WEB_ADMIN`, `PLESK_12_VPS_WEB_APP`, `PLESK_12_VPS_WEB_HOST`, … |
| `wordpressToolkit` | query | boolean |  | WordpressToolkit option activation |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/plesk/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/plesk/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/plesk/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-plesk-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/plesk/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `antivirus` | license.OrderableAntivirusEnum |  | The antivirus to enable on this Plesk license — one of `DR_WEB`, `KASPERSKY_UNLIMITED_MAILBOXES`, `kaspersky` |
| `applicationSet` | license.PleskApplicationSetEnum |  | Wanted application set — one of `applicationpack`, `developerpack`, `power-pack-for-plesk12`, `powerpack` |
| `domainNumber` | license.OrderablePleskDomainNumberEnum |  | This license domain number — one of `10`, `100`, `30`, `300`, `hostingsuite`, `unlimited` |
| `ip` | ipv4 | yes | Ip on which this license would be installed |
| `languagePackNumber` | license.OrderablePleskLanguagePackEnum |  | The amount of language pack numbers to include in this licences — one of `1`, `1-extra-language-for-plesk`, `1-extra-language-for-plesk-for-vps`, `1-extra-language-for-plesk12`, `1-extra-language-for-plesk12-for-vps`, `1-extra-language-pack-for-plesk`, `2`, `2-extra-languages-for-plesk`, `2-extra-languages-for-plesk-for-vps`, `2-extra-languages-for-plesk12`, `2-extra-languages-for-plesk12-for-vps`, `2-extra-languages-pack-for-plesk`, … |
| `powerpack` | boolean |  | powerpack current activation state on your license |
| `resellerManagement` | boolean |  | Reseller management option activation |
| `serviceType` | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `version` | license.PleskVersionEnum | yes | This license version — one of `PLESK_10_AND_LATER`, `PLESK_10_AND_LATER_FOR_KVM`, `PLESK_10_AND_LATER_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN_FOR_XEN`, `PLESK_10_AND_LATER_FOR_XEN`, `PLESK_12_VPS_WEB_ADMIN`, `PLESK_12_VPS_WEB_APP`, `PLESK_12_VPS_WEB_HOST`, … |
| `wordpressToolkit` | boolean |  | WordpressToolkit option activation |

```json
{
  "antivirus": "DR_WEB",
  "applicationSet": "applicationpack",
  "domainNumber": "10",
  "ip": "192.0.2.0",
  "languagePackNumber": "1",
  "powerpack": true,
  "resellerManagement": true,
  "serviceType": "dedicated",
  "version": "PLESK_10_AND_LATER",
  "wordpressToolkit": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/license/plesk/new/{duration}",
	antivirus = None, # The antivirus to enable on this Plesk license (type: license.OrderableAntivirusEnum, nullable)
	applicationSet = None, # Wanted application set (type: license.PleskApplicationSetEnum, nullable)
	domainNumber = None, # This license domain number (type: license.OrderablePleskDomainNumberEnum, nullable)
	ip = None, # Ip on which this license would be installed (type: ipv4)
	languagePackNumber = None, # The amount of language pack numbers to include in this licences (type: license.OrderablePleskLanguagePackEnum, nullable)
	powerpack = None, # powerpack current activation state on your license (type: boolean, nullable)
	resellerManagement = None, # Reseller management option activation (type: boolean, nullable)
	serviceType = None, # # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # (type: license.LicenseTypeEnum, nullable)
	version = None, # This license version (type: license.PleskVersionEnum)
	wordpressToolkit = None, # WordpressToolkit option activation (type: boolean, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/license/plesk/new/{duration}", array(
	antivirus => null, // The antivirus to enable on this Plesk license (type: license.OrderableAntivirusEnum, nullable)
	applicationSet => null, // Wanted application set (type: license.PleskApplicationSetEnum, nullable)
	domainNumber => null, // This license domain number (type: license.OrderablePleskDomainNumberEnum, nullable)
	ip => null, // Ip on which this license would be installed (type: ipv4)
	languagePackNumber => null, // The amount of language pack numbers to include in this licences (type: license.OrderablePleskLanguagePackEnum, nullable)
	powerpack => null, // powerpack current activation state on your license (type: boolean, nullable)
	resellerManagement => null, // Reseller management option activation (type: boolean, nullable)
	serviceType => null, // # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # (type: license.LicenseTypeEnum, nullable)
	version => null, // This license version (type: license.PleskVersionEnum)
	wordpressToolkit => null, // WordpressToolkit option activation (type: boolean, nullable)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/license/plesk/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-plesk-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/plesk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your Plesk license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/plesk/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/plesk/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/license/plesk/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-plesk-servicename-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/plesk/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `antispam` | query | license.OrderableAntispamEnum |  | The antispam currently enabled on this Plesk License — one of `SPAM_ASSASSIN` |
| `antivirus` | query | license.OrderableAntivirusEnum |  | The antivirus to enable on this Plesk license — one of `DR_WEB`, `KASPERSKY_UNLIMITED_MAILBOXES`, `kaspersky` |
| `applicationSet` | query | license.PleskApplicationSetEnum |  | Wanted application set — one of `applicationpack`, `developerpack`, `power-pack-for-plesk12`, `powerpack` |
| `domainNumber` | query | license.OrderablePleskDomainNumberEnum |  | This license domain number — one of `10`, `100`, `30`, `300`, `hostingsuite`, `unlimited` |
| `languagePackNumber` | query | license.OrderablePleskLanguagePackEnum |  | The amount (between 0 and 5) of language pack numbers to include in this licences — one of `1`, `1-extra-language-for-plesk`, `1-extra-language-for-plesk-for-vps`, `1-extra-language-for-plesk12`, `1-extra-language-for-plesk12-for-vps`, `1-extra-language-pack-for-plesk`, `2`, `2-extra-languages-for-plesk`, `2-extra-languages-for-plesk-for-vps`, `2-extra-languages-for-plesk12`, `2-extra-languages-for-plesk12-for-vps`, `2-extra-languages-pack-for-plesk`, … |
| `powerpack` | query | boolean |  | powerpack current activation state on your license |
| `resellerManagement` | query | boolean |  | Reseller management option activation |
| `serviceName` | path | string | yes | The name of your Plesk license |
| `version` | query | license.PleskVersionEnum |  | This license version — one of `PLESK_10_AND_LATER`, `PLESK_10_AND_LATER_FOR_KVM`, `PLESK_10_AND_LATER_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN_FOR_XEN`, `PLESK_10_AND_LATER_FOR_XEN`, `PLESK_12_VPS_WEB_ADMIN`, `PLESK_12_VPS_WEB_APP`, `PLESK_12_VPS_WEB_HOST`, … |
| `wordpressToolkit` | query | boolean |  | WordpressToolkit option activation |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/plesk/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/plesk/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/plesk/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-plesk-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/plesk/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `antispam` | query | license.OrderableAntispamEnum |  | The antispam currently enabled on this Plesk License — one of `SPAM_ASSASSIN` |
| `antivirus` | query | license.OrderableAntivirusEnum |  | The antivirus to enable on this Plesk license — one of `DR_WEB`, `KASPERSKY_UNLIMITED_MAILBOXES`, `kaspersky` |
| `applicationSet` | query | license.PleskApplicationSetEnum |  | Wanted application set — one of `applicationpack`, `developerpack`, `power-pack-for-plesk12`, `powerpack` |
| `domainNumber` | query | license.OrderablePleskDomainNumberEnum |  | This license domain number — one of `10`, `100`, `30`, `300`, `hostingsuite`, `unlimited` |
| `duration` | path | string | yes | Duration |
| `languagePackNumber` | query | license.OrderablePleskLanguagePackEnum |  | The amount (between 0 and 5) of language pack numbers to include in this licences — one of `1`, `1-extra-language-for-plesk`, `1-extra-language-for-plesk-for-vps`, `1-extra-language-for-plesk12`, `1-extra-language-for-plesk12-for-vps`, `1-extra-language-pack-for-plesk`, `2`, `2-extra-languages-for-plesk`, `2-extra-languages-for-plesk-for-vps`, `2-extra-languages-for-plesk12`, `2-extra-languages-for-plesk12-for-vps`, `2-extra-languages-pack-for-plesk`, … |
| `powerpack` | query | boolean |  | powerpack current activation state on your license |
| `resellerManagement` | query | boolean |  | Reseller management option activation |
| `serviceName` | path | string | yes | The name of your Plesk license |
| `version` | query | license.PleskVersionEnum |  | This license version — one of `PLESK_10_AND_LATER`, `PLESK_10_AND_LATER_FOR_KVM`, `PLESK_10_AND_LATER_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN_FOR_XEN`, `PLESK_10_AND_LATER_FOR_XEN`, `PLESK_12_VPS_WEB_ADMIN`, `PLESK_12_VPS_WEB_APP`, `PLESK_12_VPS_WEB_HOST`, … |
| `wordpressToolkit` | query | boolean |  | WordpressToolkit option activation |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/plesk/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/plesk/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/plesk/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-plesk-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/plesk/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your Plesk license |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `antispam` | license.OrderableAntispamEnum |  | The antispam currently enabled on this Plesk License — one of `SPAM_ASSASSIN` |
| `antivirus` | license.OrderableAntivirusEnum |  | The antivirus to enable on this Plesk license — one of `DR_WEB`, `KASPERSKY_UNLIMITED_MAILBOXES`, `kaspersky` |
| `applicationSet` | license.PleskApplicationSetEnum |  | Wanted application set — one of `applicationpack`, `developerpack`, `power-pack-for-plesk12`, `powerpack` |
| `domainNumber` | license.OrderablePleskDomainNumberEnum |  | This license domain number — one of `10`, `100`, `30`, `300`, `hostingsuite`, `unlimited` |
| `languagePackNumber` | license.OrderablePleskLanguagePackEnum |  | The amount (between 0 and 5) of language pack numbers to include in this licences — one of `1`, `1-extra-language-for-plesk`, `1-extra-language-for-plesk-for-vps`, `1-extra-language-for-plesk12`, `1-extra-language-for-plesk12-for-vps`, `1-extra-language-pack-for-plesk`, `2`, `2-extra-languages-for-plesk`, `2-extra-languages-for-plesk-for-vps`, `2-extra-languages-for-plesk12`, `2-extra-languages-for-plesk12-for-vps`, `2-extra-languages-pack-for-plesk`, … |
| `powerpack` | boolean |  | powerpack current activation state on your license |
| `resellerManagement` | boolean |  | Reseller management option activation |
| `version` | license.PleskVersionEnum |  | This license version — one of `PLESK_10_AND_LATER`, `PLESK_10_AND_LATER_FOR_KVM`, `PLESK_10_AND_LATER_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VMWARE`, `PLESK_10_AND_LATER_FOR_WIN_FOR_VZ`, `PLESK_10_AND_LATER_FOR_WIN_FOR_XEN`, `PLESK_10_AND_LATER_FOR_XEN`, `PLESK_12_VPS_WEB_ADMIN`, `PLESK_12_VPS_WEB_APP`, `PLESK_12_VPS_WEB_HOST`, … |
| `wordpressToolkit` | boolean |  | WordpressToolkit option activation |

```json
{
  "antispam": "SPAM_ASSASSIN",
  "antivirus": "DR_WEB",
  "applicationSet": "applicationpack",
  "domainNumber": "10",
  "languagePackNumber": "1",
  "powerpack": true,
  "resellerManagement": true,
  "version": "PLESK_10_AND_LATER",
  "wordpressToolkit": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/plesk/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: boolean
result = client.post("/order/license/plesk/{serviceName}/upgrade/{duration}",
	antispam = None, # The antispam currently enabled on this Plesk License (type: license.OrderableAntispamEnum, nullable)
	antivirus = None, # The antivirus to enable on this Plesk license (type: license.OrderableAntivirusEnum, nullable)
	applicationSet = None, # Wanted application set (type: license.PleskApplicationSetEnum, nullable)
	domainNumber = None, # This license domain number (type: license.OrderablePleskDomainNumberEnum, nullable)
	languagePackNumber = None, # The amount (between 0 and 5) of language pack numbers to include in this licences (type: license.OrderablePleskLanguagePackEnum, nullable)
	powerpack = None, # powerpack current activation state on your license (type: boolean, nullable)
	resellerManagement = None, # Reseller management option activation (type: boolean, nullable)
	version = None, # This license version (type: license.PleskVersionEnum, nullable)
	wordpressToolkit = None, # WordpressToolkit option activation (type: boolean, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: boolean
$result = $ovh->post("/order/license/plesk/{serviceName}/upgrade/{duration}", array(
	antispam => null, // The antispam currently enabled on this Plesk License (type: license.OrderableAntispamEnum, nullable)
	antivirus => null, // The antivirus to enable on this Plesk license (type: license.OrderableAntivirusEnum, nullable)
	applicationSet => null, // Wanted application set (type: license.PleskApplicationSetEnum, nullable)
	domainNumber => null, // This license domain number (type: license.OrderablePleskDomainNumberEnum, nullable)
	languagePackNumber => null, // The amount (between 0 and 5) of language pack numbers to include in this licences (type: license.OrderablePleskLanguagePackEnum, nullable)
	powerpack => null, // powerpack current activation state on your license (type: boolean, nullable)
	resellerManagement => null, // Reseller management option activation (type: boolean, nullable)
	version => null, // This license version (type: license.PleskVersionEnum, nullable)
	wordpressToolkit => null, // WordpressToolkit option activation (type: boolean, nullable)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/license/sqlserver`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-sqlserver

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/sqlserver/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/sqlserver")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/sqlserver");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/license/sqlserver/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-sqlserver-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/sqlserver/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed (for dedicated your main server Ip) |
| `version` | query | license.SqlServerVersionEnum | yes | This license version — one of `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_STANDARD_EDITION_4_CPU`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION_4_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_10_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/sqlserver/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/sqlserver/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/sqlserver/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-sqlserver-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/sqlserver/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed (for dedicated your main server Ip) |
| `version` | query | license.SqlServerVersionEnum | yes | This license version — one of `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_STANDARD_EDITION_4_CPU`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION_4_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_10_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/sqlserver/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/sqlserver/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/sqlserver/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-sqlserver-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/sqlserver/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ip` | ipv4 | yes | Ip on which this license would be installed (for dedicated your main server Ip) |
| `version` | license.SqlServerVersionEnum | yes | This license version — one of `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_STANDARD_EDITION_4_CPU`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION_4_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_10_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |

```json
{
  "ip": "192.0.2.0",
  "version": "SQL_SERVER_2008_STANDARD_EDITION_2_CPU"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/license/sqlserver/new/{duration}",
	ip = None, # Ip on which this license would be installed (for dedicated your main server Ip) (type: ipv4)
	version = None, # This license version (type: license.SqlServerVersionEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/license/sqlserver/new/{duration}", array(
	ip => null, // Ip on which this license would be installed (for dedicated your main server Ip) (type: ipv4)
	version => null, // This license version (type: license.SqlServerVersionEnum)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/license/sqlserver/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-sqlserver-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/sqlserver/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your SQL Server license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/sqlserver/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/sqlserver/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/license/sqlserver/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-sqlserver-servicename-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/sqlserver/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your SQL Server license |
| `version` | query | license.SqlServerVersionEnum | yes | This license version — one of `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_STANDARD_EDITION_4_CPU`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION_4_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_10_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/sqlserver/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/sqlserver/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/sqlserver/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-sqlserver-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/sqlserver/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your SQL Server license |
| `version` | query | license.SqlServerVersionEnum | yes | This license version — one of `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_STANDARD_EDITION_4_CPU`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION_4_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_10_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/sqlserver/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/sqlserver/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/sqlserver/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-sqlserver-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/sqlserver/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your SQL Server license |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `version` | license.SqlServerVersionEnum | yes | This license version — one of `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_STANDARD_EDITION_4_CPU`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION_4_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_10_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |

```json
{
  "version": "SQL_SERVER_2008_STANDARD_EDITION_2_CPU"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/sqlserver/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: license.SqlServerVersionEnum
result = client.post("/order/license/sqlserver/{serviceName}/upgrade/{duration}",
	version = None, # This license version (type: license.SqlServerVersionEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: license.SqlServerVersionEnum
$result = $ovh->post("/order/license/sqlserver/{serviceName}/upgrade/{duration}", array(
	version => null, // This license version (type: license.SqlServerVersionEnum)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/license/windows`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-windows

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/windows/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/windows")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/windows");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/license/windows/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-windows-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/windows/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed (for dedicated your main server Ip) |
| `serviceType` | query | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `sqlVersion` | query | license.WindowsSqlVersionEnum |  | The SQL Server version to enable on this license Windows license — one of `SQL_SERVER_2008_STANDARD_EDITION`, `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |
| `version` | query | license.WindowsOsVersionEnum | yes | This license version — one of `WINDOWS_SERVER_2003_ENTERPRISE_EDITION`, `WINDOWS_SERVER_2003_ENTERPRISE_EDITION_2_CPU`, `WINDOWS_SERVER_2003_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION_2_CPU`, `WINDOWS_SERVER_2003_WEB_ENHANCED_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_4_CPU`, `WINDOWS_SERVER_2008_ENTERPRISE_EDITION`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/windows/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/windows/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/windows/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-windows-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/windows/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `ip` | query | ipv4 | yes | Ip on which this license would be installed (for dedicated your main server Ip) |
| `serviceType` | query | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `sqlVersion` | query | license.WindowsSqlVersionEnum |  | The SQL Server version to enable on this license Windows license — one of `SQL_SERVER_2008_STANDARD_EDITION`, `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |
| `version` | query | license.WindowsOsVersionEnum | yes | This license version — one of `WINDOWS_SERVER_2003_ENTERPRISE_EDITION`, `WINDOWS_SERVER_2003_ENTERPRISE_EDITION_2_CPU`, `WINDOWS_SERVER_2003_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION_2_CPU`, `WINDOWS_SERVER_2003_WEB_ENHANCED_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_4_CPU`, `WINDOWS_SERVER_2008_ENTERPRISE_EDITION`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/windows/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/windows/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/windows/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-windows-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/license/windows/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ip` | ipv4 | yes | Ip on which this license would be installed (for dedicated your main server Ip) |
| `serviceType` | license.LicenseTypeEnum |  | # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # — one of `dedicated`, `dedicatedCloud`, `dedicatedFailover`, `failover`, `vm`, `vps`, `vps_ceph`, `vps_classic`, `vps_cloud`, `vps_cloud_2016`, `vps_ssd` |
| `sqlVersion` | license.WindowsSqlVersionEnum |  | The SQL Server version to enable on this license Windows license — one of `SQL_SERVER_2008_STANDARD_EDITION`, `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |
| `version` | license.WindowsOsVersionEnum | yes | This license version — one of `WINDOWS_SERVER_2003_ENTERPRISE_EDITION`, `WINDOWS_SERVER_2003_ENTERPRISE_EDITION_2_CPU`, `WINDOWS_SERVER_2003_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION_2_CPU`, `WINDOWS_SERVER_2003_WEB_ENHANCED_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_4_CPU`, `WINDOWS_SERVER_2008_ENTERPRISE_EDITION`, … |

```json
{
  "ip": "192.0.2.0",
  "serviceType": "dedicated",
  "sqlVersion": "SQL_SERVER_2008_STANDARD_EDITION",
  "version": "WINDOWS_SERVER_2003_ENTERPRISE_EDITION"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/license/windows/new/{duration}",
	ip = None, # Ip on which this license would be installed (for dedicated your main server Ip) (type: ipv4)
	serviceType = None, # # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # (type: license.LicenseTypeEnum, nullable)
	sqlVersion = None, # The SQL Server version to enable on this license Windows license (type: license.WindowsSqlVersionEnum, nullable)
	version = None, # This license version (type: license.WindowsOsVersionEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/license/windows/new/{duration}", array(
	ip => null, // Ip on which this license would be installed (for dedicated your main server Ip) (type: ipv4)
	serviceType => null, // # DEPRECATED # The kind of service on which this license will be used # Will not be used, keeped only for compatibility # (type: license.LicenseTypeEnum, nullable)
	sqlVersion => null, // The SQL Server version to enable on this license Windows license (type: license.WindowsSqlVersionEnum, nullable)
	version => null, // This license version (type: license.WindowsOsVersionEnum)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/license/windows/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-windows-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/windows/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your Windows license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/windows/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/windows/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/license/windows/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-windows-servicename-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/windows/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The name of your Windows license |
| `sqlVersion` | query | license.WindowsSqlVersionEnum |  | The SQL Server version to enable on this license Windows license — one of `SQL_SERVER_2008_STANDARD_EDITION`, `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |
| `version` | query | license.WindowsOsVersionEnum |  | The windows version you want to enable on your windows license — one of `WINDOWS_SERVER_2003_ENTERPRISE_EDITION`, `WINDOWS_SERVER_2003_ENTERPRISE_EDITION_2_CPU`, `WINDOWS_SERVER_2003_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION_2_CPU`, `WINDOWS_SERVER_2003_WEB_ENHANCED_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_4_CPU`, `WINDOWS_SERVER_2008_ENTERPRISE_EDITION`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/windows/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/windows/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/license/windows/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-license-windows-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/windows/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your Windows license |
| `sqlVersion` | query | license.WindowsSqlVersionEnum |  | The SQL Server version to enable on this license Windows license — one of `SQL_SERVER_2008_STANDARD_EDITION`, `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |
| `version` | query | license.WindowsOsVersionEnum |  | The windows version you want to enable on your windows license — one of `WINDOWS_SERVER_2003_ENTERPRISE_EDITION`, `WINDOWS_SERVER_2003_ENTERPRISE_EDITION_2_CPU`, `WINDOWS_SERVER_2003_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION_2_CPU`, `WINDOWS_SERVER_2003_WEB_ENHANCED_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_4_CPU`, `WINDOWS_SERVER_2008_ENTERPRISE_EDITION`, … |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/license/windows/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/license/windows/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/license/windows/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-license-windows-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:license/windows/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The name of your Windows license |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `sqlVersion` | license.WindowsSqlVersionEnum |  | The SQL Server version to enable on this license Windows license — one of `SQL_SERVER_2008_STANDARD_EDITION`, `SQL_SERVER_2008_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2008_WEB_EDITION`, `SQL_SERVER_2008_WEB_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION`, `SQL_SERVER_2012_STANDARD_EDITION_12_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_16_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_18_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_20_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_24_CORES`, `SQL_SERVER_2012_STANDARD_EDITION_2_CPU`, `SQL_SERVER_2012_STANDARD_EDITION_32_CORES`, … |
| `version` | license.WindowsOsVersionEnum |  | The windows version you want to enable on your windows license — one of `WINDOWS_SERVER_2003_ENTERPRISE_EDITION`, `WINDOWS_SERVER_2003_ENTERPRISE_EDITION_2_CPU`, `WINDOWS_SERVER_2003_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION`, `WINDOWS_SERVER_2003_WEB_EDITION_2_CPU`, `WINDOWS_SERVER_2003_WEB_ENHANCED_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION`, `WINDOWS_SERVER_2003_WEB_STANDARD_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_2_CPU`, `WINDOWS_SERVER_2008_DATACENTER_EDITION_4_CPU`, `WINDOWS_SERVER_2008_ENTERPRISE_EDITION`, … |

```json
{
  "sqlVersion": "SQL_SERVER_2008_STANDARD_EDITION",
  "version": "WINDOWS_SERVER_2003_ENTERPRISE_EDITION"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/license/windows/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/license/windows/{serviceName}/upgrade/{duration}",
	sqlVersion = None, # The SQL Server version to enable on this license Windows license (type: license.WindowsSqlVersionEnum, nullable)
	version = None, # The windows version you want to enable on your windows license (type: license.WindowsOsVersionEnum, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/license/windows/{serviceName}/upgrade/{duration}", array(
	sqlVersion => null, // The SQL Server version to enable on this license Windows license (type: license.WindowsSqlVersionEnum, nullable)
	version => null, // The windows version you want to enable on your windows license (type: license.WindowsOsVersionEnum, nullable)
));

print_r($result);
?>
```

## List OverTheBox services

`GET /1.0/order/overTheBox`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-overthebox

**Status:** Stable production version  
**IAM actions:** `order:apiovh:overTheBox/get`

List OverTheBox services. Returns the names of the OverTheBox services of the account. Each name is the serviceName used by the other OverTheBox calls.

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/overTheBox")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/overTheBox");

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/overTheBox/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-overthebox-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/overTheBox/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `deviceId` | query | string |  | The id of the device |
| `offer` | query | string | yes | Offer name |
| `voucher` | query | string |  | An optional voucher |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/overTheBox/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/overTheBox/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/overTheBox/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-overthebox-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/overTheBox/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `deviceId` | query | string |  | The id of the device |
| `duration` | path | string | yes | Duration |
| `offer` | query | string | yes | Offer name |
| `voucher` | query | string |  | An optional voucher |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/overTheBox/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/overTheBox/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/overTheBox/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-overthebox-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/overTheBox/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `deviceId` | string |  | The id of the device |
| `offer` | string | yes | Offer name |
| `voucher` | string |  | An optional voucher |

```json
{
  "deviceId": "string",
  "offer": "string",
  "voucher": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.post("/order/overTheBox/new/{duration}",
	deviceId = None, # The id of the device (type: string, nullable)
	offer = None, # Offer name (type: string)
	voucher = None, # An optional voucher (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->post("/order/overTheBox/new/{duration}", array(
	deviceId => null, // The id of the device (type: string, nullable)
	offer => null, // Offer name (type: string)
	voucher => null, // An optional voucher (type: string, nullable)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/overTheBox/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-overthebox-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:overTheBox/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your overTheBox offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/overTheBox/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/overTheBox/{serviceName}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/overTheBox/{serviceName}/migrate`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-overthebox-servicename-migrate

**Status:** Stable production version  
**IAM actions:** `order:apiovh:overTheBox/migrate/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `hardware` | query | boolean | yes | If you want to migrate with a new hardware |
| `offer` | query | string | yes | Offer name to migrate to |
| `serviceName` | path | string | yes | The internal name of your overTheBox offer |
| `shippingContactID` | query | string |  | Contact ID to deliver to |
| `shippingMethod` | query | overTheBox.ShippingMethodEnum |  | How do you want your shipment shipped — one of `dhl`, `mondialRelay` |
| `shippingRelayID` | query | integer |  | Relay ID to deliver to. Needed if shipping is mondialRelay |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox/{serviceName}/migrate" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/overTheBox/{serviceName}/migrate")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/overTheBox/{serviceName}/migrate");

print_r($result);
?>
```

## Create order

`POST /1.0/order/overTheBox/{serviceName}/migrate`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-overthebox-servicename-migrate

**Status:** Stable production version  
**IAM actions:** `order:apiovh:overTheBox/migrate/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your overTheBox offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hardware` | boolean | yes | If you want to migrate with a new hardware |
| `offer` | string | yes | Offer name to migrate to |
| `shippingContactID` | string |  | Contact ID to deliver to |
| `shippingMethod` | overTheBox.ShippingMethodEnum |  | How do you want your shipment shipped — one of `dhl`, `mondialRelay` |
| `shippingRelayID` | integer |  | Relay ID to deliver to. Needed if shipping is mondialRelay |

```json
{
  "hardware": true,
  "offer": "string",
  "shippingContactID": "string",
  "shippingMethod": "dhl",
  "shippingRelayID": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/overTheBox/{serviceName}/migrate" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/overTheBox/{serviceName}/migrate",
	hardware = None, # If you want to migrate with a new hardware (type: boolean)
	offer = None, # Offer name to migrate to (type: string)
	shippingContactID = None, # Contact ID to deliver to (type: string, nullable)
	shippingMethod = None, # How do you want your shipment shipped (type: overTheBox.ShippingMethodEnum, nullable)
	shippingRelayID = None, # Relay ID to deliver to. Needed if shipping is mondialRelay (type: long, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/overTheBox/{serviceName}/migrate", array(
	hardware => null, // If you want to migrate with a new hardware (type: boolean)
	offer => null, // Offer name to migrate to (type: string)
	shippingContactID => null, // Contact ID to deliver to (type: string, nullable)
	shippingMethod => null, // How do you want your shipment shipped (type: overTheBox.ShippingMethodEnum, nullable)
	shippingRelayID => null, // Relay ID to deliver to. Needed if shipping is mondialRelay (type: long, nullable)
));

print_r($result);
?>
```

## Get allowed durations for 'new' option

`GET /1.0/order/saas/csp2/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-saas-csp2-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/saas/csp2/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `giftCode` | query | string |  | Gift code for office license |
| `officeBusinessQuantity` | query | integer |  | Number of prepaid office business license |
| `officeProPlusQuantity` | query | integer |  | Number of prepaid office pro plus license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/saas/csp2/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/saas/csp2/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/saas/csp2/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/saas/csp2/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-saas-csp2-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/saas/csp2/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `giftCode` | query | string |  | Gift code for office license |
| `officeBusinessQuantity` | query | integer |  | Number of prepaid office business license |
| `officeProPlusQuantity` | query | integer |  | Number of prepaid office pro plus license |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/saas/csp2/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/saas/csp2/new/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/saas/csp2/new/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/saas/csp2/new/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-saas-csp2-new-duration

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/saas/csp2/new/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `giftCode` | string |  | Gift code for office license |
| `officeBusinessQuantity` | integer |  | Number of prepaid office business license |
| `officeProPlusQuantity` | integer |  | Number of prepaid office pro plus license |

```json
{
  "giftCode": "string",
  "officeBusinessQuantity": 0,
  "officeProPlusQuantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/saas/csp2/new/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/saas/csp2/new/{duration}",
	giftCode = None, # Gift code for office license (type: string, nullable)
	officeBusinessQuantity = None, # Number of prepaid office business license (type: long, nullable)
	officeProPlusQuantity = None, # Number of prepaid office pro plus license (type: long, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/saas/csp2/new/{duration}", array(
	giftCode => null, // Gift code for office license (type: string, nullable)
	officeBusinessQuantity => null, // Number of prepaid office business license (type: long, nullable)
	officeProPlusQuantity => null, // Number of prepaid office pro plus license (type: long, nullable)
));

print_r($result);
?>
```

## List SMS accounts

`GET /1.0/order/sms`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-sms

**Status:** Stable production version  
**IAM actions:** `order:apiovh:sms/get`

List SMS accounts. Returns the service names of the SMS accounts of the customer. Get an SMS account for its status, credits left and settings.

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/sms" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/sms")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/sms");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/sms/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-sms-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/sms/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `channel` | query | sms.ChannelEnum |  | For what purpose this account can be used for — one of `both`, `marketing`, `transactional` |
| `quantity` | query | integer | yes | Sms credit quantity |
| `smpp` | query | boolean |  | Whether the account can be used for smpp or not |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/sms/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/sms/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/sms/new");

print_r($result);
?>
```

## Create order

`POST /1.0/order/sms/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-sms-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/sms/new/create`

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `channel` | sms.ChannelEnum |  | For what purpose this account can be used for — one of `both`, `marketing`, `transactional` |
| `quantity` | integer | yes | Sms credit quantity |
| `smpp` | boolean |  | Whether the account can be used for smpp or not |

```json
{
  "channel": "both",
  "quantity": 0,
  "smpp": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/sms/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: boolean
result = client.post("/order/sms/new",
	channel = None, # For what purpose this account can be used for (type: sms.ChannelEnum, nullable)
	quantity = None, # Sms credit quantity (type: long)
	smpp = None, # Whether the account can be used for smpp or not (type: boolean, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: boolean
$result = $ovh->post("/order/sms/new", array(
	channel => null, // For what purpose this account can be used for (type: sms.ChannelEnum, nullable)
	quantity => null, // Sms credit quantity (type: long)
	smpp => null, // Whether the account can be used for smpp or not (type: boolean, nullable)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/sms/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-sms-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:sms/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your SMS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/sms/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/sms/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/sms/{serviceName}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/sms/{serviceName}/credits`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-sms-servicename-credits

**Status:** Stable production version  
**IAM actions:** `order:apiovh:sms/credits/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `quantity` | query | integer | yes | Sms credit quantity |
| `serviceName` | path | string | yes | The internal name of your SMS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/sms/{serviceName}/credits" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/sms/{serviceName}/credits")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/sms/{serviceName}/credits");

print_r($result);
?>
```

## Create order

`POST /1.0/order/sms/{serviceName}/credits`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-sms-servicename-credits

**Status:** Stable production version  
**IAM actions:** `order:apiovh:sms/credits/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your SMS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `quantity` | integer | yes | Sms credit quantity |

```json
{
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/sms/{serviceName}/credits" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/sms/{serviceName}/credits",
	quantity = None, # Sms credit quantity (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/sms/{serviceName}/credits", array(
	quantity => null, // Sms credit quantity (type: long)
));

print_r($result);
?>
```

## List billing accounts

`GET /1.0/order/telephony`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony");

print_r($result);
?>
```

## List lines

`GET /1.0/order/telephony/lines`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-lines

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/lines/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/lines")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/lines");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/telephony/lines/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-lines-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/lines/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your line number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/lines/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/lines/{serviceName}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/lines/{serviceName}/addSimultaneousLines`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-lines-servicename-addsimultaneouslines

**Status:** Deprecated, will be removed  
**Deprecated** since 2018-02-09, removed on 2018-08-09; use `/order/telephony/lines/{serviceName}/updateSimultaneousChannels` instead.  
**IAM actions:** `order:apiovh:telephony/lines/addSimultaneousLines/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | query | string | yes | The name of your billingAccount |
| `quantity` | query | integer | yes | The quantity of extra simultaneous lines to add |
| `serviceName` | path | string | yes | Your line number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}/addSimultaneousLines" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/lines/{serviceName}/addSimultaneousLines")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/lines/{serviceName}/addSimultaneousLines");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/lines/{serviceName}/addSimultaneousLines`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-lines-servicename-addsimultaneouslines

**Status:** Deprecated, will be removed  
**Deprecated** since 2018-02-09, removed on 2018-08-09; use `/order/telephony/lines/{serviceName}/updateSimultaneousChannels` instead.  
**IAM actions:** `order:apiovh:telephony/lines/addSimultaneousLines/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your line number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `billingAccount` | string | yes | The name of your billingAccount |
| `quantity` | integer | yes | The quantity of extra simultaneous lines to add |

```json
{
  "billingAccount": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}/addSimultaneousLines" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/lines/{serviceName}/addSimultaneousLines",
	billingAccount = None, # The name of your billingAccount (type: string)
	quantity = None, # The quantity of extra simultaneous lines to add (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/lines/{serviceName}/addSimultaneousLines", array(
	billingAccount => null, // The name of your billingAccount (type: string)
	quantity => null, // The quantity of extra simultaneous lines to add (type: long)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/lines/{serviceName}/hardware`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-lines-servicename-hardware

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/lines/hardware/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `hardware` | query | string | yes | The hardware you want to order for this specific line |
| `mondialRelayId` | query | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `serviceName` | path | string | yes | Your line number |
| `shippingContactId` | query | string |  | Shipping contact information id from /me entry point |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}/hardware" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/lines/{serviceName}/hardware")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/lines/{serviceName}/hardware");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/lines/{serviceName}/hardware`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-lines-servicename-hardware

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/lines/hardware/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your line number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hardware` | string | yes | The hardware you want to order for this specific line |
| `mondialRelayId` | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `retractation` | boolean | yes | Retractation rights if set |
| `shippingContactId` | string |  | Shipping contact information id from /me entry point |

```json
{
  "hardware": "string",
  "mondialRelayId": "string",
  "retractation": true,
  "shippingContactId": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}/hardware" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/lines/{serviceName}/hardware",
	hardware = None, # The hardware you want to order for this specific line (type: string)
	mondialRelayId = None, # Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	retractation = None, # Retractation rights if set (type: boolean)
	shippingContactId = None, # Shipping contact information id from /me entry point (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/lines/{serviceName}/hardware", array(
	hardware => null, // The hardware you want to order for this specific line (type: string)
	mondialRelayId => null, // Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	retractation => null, // Retractation rights if set (type: boolean)
	shippingContactId => null, // Shipping contact information id from /me entry point (type: string, nullable)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/lines/{serviceName}/updateSimultaneousChannels`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-lines-servicename-updatesimultaneouschannels

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/lines/updateSimultaneousChannels/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `quantity` | query | integer | yes | The quantity of total simultaneous channels requested |
| `serviceName` | path | string | yes | Your line number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}/updateSimultaneousChannels" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/lines/{serviceName}/updateSimultaneousChannels")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/lines/{serviceName}/updateSimultaneousChannels");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/lines/{serviceName}/updateSimultaneousChannels`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-lines-servicename-updatesimultaneouschannels

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/lines/updateSimultaneousChannels/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your line number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `quantity` | integer | yes | The quantity of total simultaneous channels requested |

```json
{
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/lines/{serviceName}/updateSimultaneousChannels" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/telephony/lines/{serviceName}/updateSimultaneousChannels",
	quantity = None, # The quantity of total simultaneous channels requested (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/telephony/lines/{serviceName}/updateSimultaneousChannels", array(
	quantity => null, // The quantity of total simultaneous channels requested (type: long)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/telephony/new/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/new");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/telephony/new/create`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/new");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/spare/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-spare-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/telephony/spare/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `brand` | query | string | yes | Spare phone brand model |
| `mondialRelayId` | query | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `quantity` | query | integer | yes | Number of phone quantity |
| `shippingContactId` | query | integer | yes | Shipping contact information id from /me entry point |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/spare/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/spare/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/spare/new");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/spare/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-spare-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/telephony/spare/new/create`

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `brand` | string | yes | Spare phone brand model |
| `mondialRelayId` | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `quantity` | integer | yes | Number of phone quantity |
| `shippingContactId` | integer | yes | Shipping contact information id from /me entry point |

```json
{
  "brand": "string",
  "mondialRelayId": "string",
  "quantity": 0,
  "shippingContactId": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/spare/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/spare/new",
	brand = None, # Spare phone brand model (type: string)
	mondialRelayId = None, # Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	quantity = None, # Number of phone quantity (type: long)
	shippingContactId = None, # Shipping contact information id from /me entry point (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/spare/new", array(
	brand => null, // Spare phone brand model (type: string)
	mondialRelayId => null, // Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	quantity => null, // Number of phone quantity (type: long)
	shippingContactId => null, // Shipping contact information id from /me entry point (type: long)
));

print_r($result);
?>
```

## List trunks

`GET /1.0/order/telephony/trunks`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-trunks

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/trunks/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/trunks")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/trunks");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/telephony/trunks/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-trunks-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/trunks/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your trunk number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/trunks/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/trunks/{serviceName}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/trunks/{serviceName}/addSimultaneousLines`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-trunks-servicename-addsimultaneouslines

**Status:** Deprecated, will be removed  
**Deprecated** since 2018-02-09, removed on 2018-08-09; use `/order/telephony/trunks/{serviceName}/updateSimultaneousChannels` instead.  
**IAM actions:** `order:apiovh:telephony/trunks/addSimultaneousLines/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | query | string | yes | The name of your billingAccount |
| `quantity` | query | integer | yes | The quantity of extra simultaneous lines to add |
| `serviceName` | path | string | yes | Your trunk number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}/addSimultaneousLines" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/trunks/{serviceName}/addSimultaneousLines")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/trunks/{serviceName}/addSimultaneousLines");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/trunks/{serviceName}/addSimultaneousLines`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-trunks-servicename-addsimultaneouslines

**Status:** Deprecated, will be removed  
**Deprecated** since 2018-02-09, removed on 2018-08-09; use `/order/telephony/trunks/{serviceName}/updateSimultaneousChannels` instead.  
**IAM actions:** `order:apiovh:telephony/trunks/addSimultaneousLines/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your trunk number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `billingAccount` | string | yes | The name of your billingAccount |
| `quantity` | integer | yes | The quantity of extra simultaneous lines to add |

```json
{
  "billingAccount": "string",
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}/addSimultaneousLines" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/trunks/{serviceName}/addSimultaneousLines",
	billingAccount = None, # The name of your billingAccount (type: string)
	quantity = None, # The quantity of extra simultaneous lines to add (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/trunks/{serviceName}/addSimultaneousLines", array(
	billingAccount => null, // The name of your billingAccount (type: string)
	quantity => null, // The quantity of extra simultaneous lines to add (type: long)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/trunks/{serviceName}/hardware`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-trunks-servicename-hardware

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/trunks/hardware/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `hardware` | query | string | yes | The hardware you want to order for this specific line |
| `mondialRelayId` | query | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `serviceName` | path | string | yes | Your trunk number |
| `shippingContactId` | query | string |  | Shipping contact information id from /me entry point |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}/hardware" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/trunks/{serviceName}/hardware")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/trunks/{serviceName}/hardware");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/trunks/{serviceName}/hardware`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-trunks-servicename-hardware

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/trunks/hardware/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your trunk number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hardware` | string | yes | The hardware you want to order for this specific line |
| `mondialRelayId` | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `retractation` | boolean | yes | Retractation rights if set |
| `shippingContactId` | string |  | Shipping contact information id from /me entry point |

```json
{
  "hardware": "string",
  "mondialRelayId": "string",
  "retractation": true,
  "shippingContactId": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}/hardware" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/trunks/{serviceName}/hardware",
	hardware = None, # The hardware you want to order for this specific line (type: string)
	mondialRelayId = None, # Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	retractation = None, # Retractation rights if set (type: boolean)
	shippingContactId = None, # Shipping contact information id from /me entry point (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/trunks/{serviceName}/hardware", array(
	hardware => null, // The hardware you want to order for this specific line (type: string)
	mondialRelayId => null, // Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	retractation => null, // Retractation rights if set (type: boolean)
	shippingContactId => null, // Shipping contact information id from /me entry point (type: string, nullable)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/trunks/{serviceName}/updateSimultaneousChannels`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-trunks-servicename-updatesimultaneouschannels

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/trunks/updateSimultaneousChannels/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `quantity` | query | integer | yes | The quantity of total simultaneous channels requested |
| `serviceName` | path | string | yes | Your trunk number |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}/updateSimultaneousChannels" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/trunks/{serviceName}/updateSimultaneousChannels")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/trunks/{serviceName}/updateSimultaneousChannels");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/trunks/{serviceName}/updateSimultaneousChannels`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-trunks-servicename-updatesimultaneouschannels

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/trunks/updateSimultaneousChannels/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Your trunk number |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `quantity` | integer | yes | The quantity of total simultaneous channels requested |

```json
{
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/trunks/{serviceName}/updateSimultaneousChannels" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: long
result = client.post("/order/telephony/trunks/{serviceName}/updateSimultaneousChannels",
	quantity = None, # The quantity of total simultaneous channels requested (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: long
$result = $ovh->post("/order/telephony/trunks/{serviceName}/updateSimultaneousChannels", array(
	quantity => null, // The quantity of total simultaneous channels requested (type: long)
));

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/telephony/{billingAccount}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/accessories`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-accessories

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/accessories/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `accessories` | query | string[] | yes | Accessories to order |
| `billingAccount` | path | string | yes | The name of your billingAccount |
| `mondialRelayId` | query | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `shippingContactId` | query | integer | yes | Shipping contact information id from /me entry point |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/accessories" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/accessories")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/accessories");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/accessories`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-accessories

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/accessories/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accessories` | string[] | yes | Accessories to order |
| `mondialRelayId` | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `retractation` | boolean | yes | Retractation rights if set |
| `shippingContactId` | integer | yes | Shipping contact information id from /me entry point |

```json
{
  "accessories": [
    "string"
  ],
  "mondialRelayId": "string",
  "retractation": true,
  "shippingContactId": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/accessories" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/{billingAccount}/accessories",
	accessories = None, # Accessories to order (type: string[])
	mondialRelayId = None, # Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	retractation = None, # Retractation rights if set (type: boolean)
	shippingContactId = None, # Shipping contact information id from /me entry point (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/{billingAccount}/accessories", array(
	accessories => null, // Accessories to order (type: string[])
	mondialRelayId => null, // Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	retractation => null, // Retractation rights if set (type: boolean)
	shippingContactId => null, // Shipping contact information id from /me entry point (type: long)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/line`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-line

**Status:** Deprecated, will be removed  
**Deprecated** since 2024-02-12, removed on 2024-03-01.  
**IAM actions:** `order:apiovh:telephony/line/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |
| `brand` | query | string |  | Phone brands wanted with the offer. Set null for NO phone |
| `displayUniversalDirectories` | query | boolean[] | yes | Publish owner contact informations on universal directories or not |
| `extraSimultaneousLines` | query | integer[] | yes | Additional simultaneous numbers. Set several simultaneous lines for each line per phone |
| `mondialRelayId` | query | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping address information entry. |
| `offers` | query | string[] | yes | The line offers. Set several offers for each line per phone (Deprecated, use offer method instead) |
| `ownerContactIds` | query | integer[] | yes | Owner contact information id from /me entry point for each line |
| `quantity` | query | integer | yes | Quantity of request repetition in this configuration |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `shippingContactId` | query | integer | yes | Shipping contact information id from /me entry point |
| `types` | query | telephony.LineTypeEnum[] | yes | Number type. Set several types for each line per phone |
| `zones` | query | string[] |  | Geographic zones. Let empty for nogeographic type. Set several zones for each line per phone |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/line" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/line")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/line");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/line`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-line

**Status:** Deprecated, will be removed  
**Deprecated** since 2024-02-12, removed on 2024-03-01.  
**IAM actions:** `order:apiovh:telephony/line/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `brand` | string |  | Phone brands wanted with the offer. Set null for NO phone |
| `displayUniversalDirectories` | boolean[] | yes | Publish owner contact informations on universal directories or not |
| `extraSimultaneousLines` | integer[] | yes | Additional simultaneous numbers. Set several simultaneous lines for each line per phone |
| `mondialRelayId` | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping address information entry. |
| `offers` | string[] | yes | The line offers. Set several offers for each line per phone (Deprecated, use offer method instead) |
| `ownerContactIds` | integer[] | yes | Owner contact information id from /me entry point for each line |
| `quantity` | integer | yes | Quantity of request repetition in this configuration |
| `retractation` | boolean | yes | Retractation rights if set |
| `shippingContactId` | integer | yes | Shipping contact information id from /me entry point |
| `types` | telephony.LineTypeEnum[] | yes | Number type. Set several types for each line per phone |
| `zones` | string[] |  | Geographic zones. Let empty for nogeographic type. Set several zones for each line per phone |

```json
{
  "brand": "string",
  "displayUniversalDirectories": [
    true
  ],
  "extraSimultaneousLines": [
    0
  ],
  "mondialRelayId": "string",
  "offers": [
    "string"
  ],
  "ownerContactIds": [
    0
  ],
  "quantity": 0,
  "retractation": true,
  "shippingContactId": 0,
  "types": [
    "geographic"
  ],
  "zones": [
    "string"
  ]
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/line" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string[]
result = client.post("/order/telephony/{billingAccount}/line",
	brand = None, # Phone brands wanted with the offer. Set null for NO phone (type: string, nullable)
	displayUniversalDirectories = None, # Publish owner contact informations on universal directories or not (type: boolean[])
	extraSimultaneousLines = None, # Additional simultaneous numbers. Set several simultaneous lines for each line per phone (type: long[])
	mondialRelayId = None, # Use /supply/mondialRelay entry point to specify a relay point and ignore shipping address information entry. (type: string, nullable)
	offers = None, # The line offers. Set several offers for each line per phone (Deprecated, use offer method instead) (type: string[])
	ownerContactIds = None, # Owner contact information id from /me entry point for each line (type: long[])
	quantity = None, # Quantity of request repetition in this configuration (type: long)
	retractation = None, # Retractation rights if set (type: boolean)
	shippingContactId = None, # Shipping contact information id from /me entry point (type: long)
	types = None, # Number type. Set several types for each line per phone (type: telephony.LineTypeEnum[])
	zones = None, # Geographic zones. Let empty for nogeographic type. Set several zones for each line per phone (type: string[], nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string[]
$result = $ovh->post("/order/telephony/{billingAccount}/line", array(
	brand => null, // Phone brands wanted with the offer. Set null for NO phone (type: string, nullable)
	displayUniversalDirectories => null, // Publish owner contact informations on universal directories or not (type: boolean[])
	extraSimultaneousLines => null, // Additional simultaneous numbers. Set several simultaneous lines for each line per phone (type: long[])
	mondialRelayId => null, // Use /supply/mondialRelay entry point to specify a relay point and ignore shipping address information entry. (type: string, nullable)
	offers => null, // The line offers. Set several offers for each line per phone (Deprecated, use offer method instead) (type: string[])
	ownerContactIds => null, // Owner contact information id from /me entry point for each line (type: long[])
	quantity => null, // Quantity of request repetition in this configuration (type: long)
	retractation => null, // Retractation rights if set (type: boolean)
	shippingContactId => null, // Shipping contact information id from /me entry point (type: long)
	types => null, // Number type. Set several types for each line per phone (type: telephony.LineTypeEnum[])
	zones => null, // Geographic zones. Let empty for nogeographic type. Set several zones for each line per phone (type: string[], nullable)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/numberGeographic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-numbergeographic

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/numberGeographic/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ape` | query | string |  | Company ape |
| `billingAccount` | path | string | yes | The name of your billingAccount |
| `city` | query | string | yes | Contact city |
| `country` | query | telephony.NumberCountryEnum | yes | Number country — one of `be`, `ch`, `fr`, `gb`, `uk` |
| `displayUniversalDirectory` | query | boolean | yes | Publish contact informations on universal directories |
| `email` | query | string |  |  |
| `firstname` | query | string |  | Contact firstname |
| `legalform` | query | nichandle.LegalFormEnum | yes | Legal form — one of `administration`, `association`, `corporation`, `individual`, `other`, `personalcorporation` |
| `name` | query | string |  | Contact name |
| `offer` | query | telephony.NumberOffer | yes | Number offer — one of `alias`, `didsOnly` |
| `organisation` | query | string |  | Contact organisation |
| `phone` | query | string |  | Contact phone |
| `pool` | query | telephony.NumberPoolEnum |  | Number of alias in case of pool — one of `10`, `50`, `100` |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `siret` | query | string |  | Company siret |
| `socialNomination` | query | string |  | Company social nomination |
| `specificNumber` | query | phoneNumber |  | Preselected standard number |
| `streetName` | query | string |  | Street name |
| `streetNumber` | query | string |  | Street number |
| `zip` | query | string |  | Contact zip |
| `zone` | query | string | yes | Zone |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/numberGeographic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/numberGeographic")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/numberGeographic");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/numberGeographic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-numbergeographic

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/numberGeographic/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ape` | string |  | Company ape |
| `city` | string | yes | Contact city |
| `country` | telephony.NumberCountryEnum | yes | Number country — one of `be`, `ch`, `fr`, `gb`, `uk` |
| `displayUniversalDirectory` | boolean | yes | Publish contact informations on universal directories |
| `email` | string |  |  |
| `firstname` | string |  | Contact firstname |
| `legalform` | nichandle.LegalFormEnum | yes | Legal form — one of `administration`, `association`, `corporation`, `individual`, `other`, `personalcorporation` |
| `name` | string |  | Contact name |
| `offer` | telephony.NumberOffer | yes | Number offer — one of `alias`, `didsOnly` |
| `organisation` | string |  | Contact organisation |
| `phone` | string |  | Contact phone |
| `pool` | telephony.NumberPoolEnum |  | Number of alias in case of pool — one of `10`, `50`, `100` |
| `retractation` | boolean | yes | Retractation rights if set |
| `siret` | string |  | Company siret |
| `socialNomination` | string |  | Company social nomination |
| `specificNumber` | phoneNumber |  | Preselected standard number |
| `streetName` | string |  | Street name |
| `streetNumber` | string |  | Street number |
| `zip` | string |  | Contact zip |
| `zone` | string | yes | Zone |

```json
{
  "ape": "string",
  "city": "string",
  "country": "be",
  "displayUniversalDirectory": true,
  "email": "string",
  "firstname": "string",
  "legalform": "administration",
  "name": "string",
  "offer": "alias",
  "organisation": "string",
  "phone": "string",
  "pool": 10,
  "retractation": true,
  "siret": "string",
  "socialNomination": "string",
  "specificNumber": "string",
  "streetName": "string",
  "streetNumber": "string",
  "zip": "string",
  "zone": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/numberGeographic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/{billingAccount}/numberGeographic",
	ape = None, # Company ape (type: string, nullable)
	city = None, # Contact city (type: string)
	country = None, # Number country (type: telephony.NumberCountryEnum)
	displayUniversalDirectory = None, # Publish contact informations on universal directories (type: boolean)
	email = None, #  (type: string, nullable)
	firstname = None, # Contact firstname (type: string, nullable)
	legalform = None, # Legal form (type: nichandle.LegalFormEnum)
	name = None, # Contact name (type: string, nullable)
	offer = None, # Number offer (type: telephony.NumberOffer)
	organisation = None, # Contact organisation (type: string, nullable)
	phone = None, # Contact phone (type: string, nullable)
	pool = None, # Number of alias in case of pool (type: telephony.NumberPoolEnum, nullable)
	retractation = None, # Retractation rights if set (type: boolean)
	siret = None, # Company siret (type: string, nullable)
	socialNomination = None, # Company social nomination (type: string, nullable)
	specificNumber = None, # Preselected standard number (type: phoneNumber, nullable)
	streetName = None, # Street name (type: string, nullable)
	streetNumber = None, # Street number (type: string, nullable)
	zip = None, # Contact zip (type: string, nullable)
	zone = None, # Zone (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/{billingAccount}/numberGeographic", array(
	ape => null, // Company ape (type: string, nullable)
	city => null, // Contact city (type: string)
	country => null, // Number country (type: telephony.NumberCountryEnum)
	displayUniversalDirectory => null, // Publish contact informations on universal directories (type: boolean)
	email => null, //  (type: string, nullable)
	firstname => null, // Contact firstname (type: string, nullable)
	legalform => null, // Legal form (type: nichandle.LegalFormEnum)
	name => null, // Contact name (type: string, nullable)
	offer => null, // Number offer (type: telephony.NumberOffer)
	organisation => null, // Contact organisation (type: string, nullable)
	phone => null, // Contact phone (type: string, nullable)
	pool => null, // Number of alias in case of pool (type: telephony.NumberPoolEnum, nullable)
	retractation => null, // Retractation rights if set (type: boolean)
	siret => null, // Company siret (type: string, nullable)
	socialNomination => null, // Company social nomination (type: string, nullable)
	specificNumber => null, // Preselected standard number (type: phoneNumber, nullable)
	streetName => null, // Street name (type: string, nullable)
	streetNumber => null, // Street number (type: string, nullable)
	zip => null, // Contact zip (type: string, nullable)
	zone => null, // Zone (type: string)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/numberNogeographic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-numbernogeographic

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/numberNogeographic/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ape` | query | string |  | Company ape |
| `billingAccount` | path | string | yes | The name of your billingAccount |
| `city` | query | string |  | Contact city |
| `country` | query | telephony.NumberCountryEnum | yes | Number country — one of `be`, `ch`, `fr`, `gb`, `uk` |
| `displayUniversalDirectory` | query | boolean | yes | Publish contact informations on universal directories |
| `email` | query | string |  |  |
| `firstname` | query | string |  | Contact firstname |
| `legalform` | query | nichandle.LegalFormEnum | yes | Legal form — one of `administration`, `association`, `corporation`, `individual`, `other`, `personalcorporation` |
| `name` | query | string |  | Contact name |
| `offer` | query | telephony.NumberOffer | yes | Number offer — one of `alias`, `didsOnly` |
| `organisation` | query | string |  | Contact organisation |
| `phone` | query | string |  | Contact phone |
| `pool` | query | telephony.NumberPoolEnum |  | Number of alias in case of pool — one of `10`, `50`, `100` |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `siret` | query | string |  | Company siret |
| `socialNomination` | query | string |  | Company social nomination |
| `specificNumber` | query | phoneNumber |  | Preselected standard number |
| `streetName` | query | string |  | Street name |
| `streetNumber` | query | string |  | Street number |
| `zip` | query | string |  | Contact zip |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/numberNogeographic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/numberNogeographic")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/numberNogeographic");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/numberNogeographic`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-numbernogeographic

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/numberNogeographic/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ape` | string |  | Company ape |
| `city` | string |  | Contact city |
| `country` | telephony.NumberCountryEnum | yes | Number country — one of `be`, `ch`, `fr`, `gb`, `uk` |
| `displayUniversalDirectory` | boolean | yes | Publish contact informations on universal directories |
| `email` | string |  |  |
| `firstname` | string |  | Contact firstname |
| `legalform` | nichandle.LegalFormEnum | yes | Legal form — one of `administration`, `association`, `corporation`, `individual`, `other`, `personalcorporation` |
| `name` | string |  | Contact name |
| `offer` | telephony.NumberOffer | yes | Number offer — one of `alias`, `didsOnly` |
| `organisation` | string |  | Contact organisation |
| `phone` | string |  | Contact phone |
| `pool` | telephony.NumberPoolEnum |  | Number of alias in case of pool — one of `10`, `50`, `100` |
| `retractation` | boolean | yes | Retractation rights if set |
| `siret` | string |  | Company siret |
| `socialNomination` | string |  | Company social nomination |
| `specificNumber` | phoneNumber |  | Preselected standard number |
| `streetName` | string |  | Street name |
| `streetNumber` | string |  | Street number |
| `zip` | string |  | Contact zip |

```json
{
  "ape": "string",
  "city": "string",
  "country": "be",
  "displayUniversalDirectory": true,
  "email": "string",
  "firstname": "string",
  "legalform": "administration",
  "name": "string",
  "offer": "alias",
  "organisation": "string",
  "phone": "string",
  "pool": 10,
  "retractation": true,
  "siret": "string",
  "socialNomination": "string",
  "specificNumber": "string",
  "streetName": "string",
  "streetNumber": "string",
  "zip": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/numberNogeographic" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.post("/order/telephony/{billingAccount}/numberNogeographic",
	ape = None, # Company ape (type: string, nullable)
	city = None, # Contact city (type: string, nullable)
	country = None, # Number country (type: telephony.NumberCountryEnum)
	displayUniversalDirectory = None, # Publish contact informations on universal directories (type: boolean)
	email = None, #  (type: string, nullable)
	firstname = None, # Contact firstname (type: string, nullable)
	legalform = None, # Legal form (type: nichandle.LegalFormEnum)
	name = None, # Contact name (type: string, nullable)
	offer = None, # Number offer (type: telephony.NumberOffer)
	organisation = None, # Contact organisation (type: string, nullable)
	phone = None, # Contact phone (type: string, nullable)
	pool = None, # Number of alias in case of pool (type: telephony.NumberPoolEnum, nullable)
	retractation = None, # Retractation rights if set (type: boolean)
	siret = None, # Company siret (type: string, nullable)
	socialNomination = None, # Company social nomination (type: string, nullable)
	specificNumber = None, # Preselected standard number (type: phoneNumber, nullable)
	streetName = None, # Street name (type: string, nullable)
	streetNumber = None, # Street number (type: string, nullable)
	zip = None, # Contact zip (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->post("/order/telephony/{billingAccount}/numberNogeographic", array(
	ape => null, // Company ape (type: string, nullable)
	city => null, // Contact city (type: string, nullable)
	country => null, // Number country (type: telephony.NumberCountryEnum)
	displayUniversalDirectory => null, // Publish contact informations on universal directories (type: boolean)
	email => null, //  (type: string, nullable)
	firstname => null, // Contact firstname (type: string, nullable)
	legalform => null, // Legal form (type: nichandle.LegalFormEnum)
	name => null, // Contact name (type: string, nullable)
	offer => null, // Number offer (type: telephony.NumberOffer)
	organisation => null, // Contact organisation (type: string, nullable)
	phone => null, // Contact phone (type: string, nullable)
	pool => null, // Number of alias in case of pool (type: telephony.NumberPoolEnum, nullable)
	retractation => null, // Retractation rights if set (type: boolean)
	siret => null, // Company siret (type: string, nullable)
	socialNomination => null, // Company social nomination (type: string, nullable)
	specificNumber => null, // Preselected standard number (type: phoneNumber, nullable)
	streetName => null, // Street name (type: string, nullable)
	streetNumber => null, // Street number (type: string, nullable)
	zip => null, // Contact zip (type: string, nullable)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/numberSpecial`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-numberspecial

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/numberSpecial/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `addressExtra` | query | string |  | Contact address extra |
| `ape` | query | string |  | Company ape |
| `billingAccount` | path | string | yes | The name of your billingAccount |
| `cedex` | query | string |  | Contact cedex |
| `city` | query | string |  | Contact city |
| `country` | query | telephony.SpecialNumberCountryEnum | yes | Number country — one of `fr` |
| `description` | query | string |  | Line description |
| `displaySearchReverse` | query | boolean |  | Publish informations on reversed directory ? |
| `displayUniversalDirectory` | query | boolean | yes | Publish informations on directory ? (Yellow Pages...) |
| `email` | query | string |  |  |
| `firstname` | query | string |  | Contact firstname |
| `legalform` | query | nichandle.LegalFormEnum | yes | Legal form — one of `administration`, `association`, `corporation`, `individual`, `other`, `personalcorporation` |
| `name` | query | string |  | Contact name |
| `organisation` | query | string |  | Contact organisation |
| `phone` | query | string |  | Contact phone |
| `pool` | query | telephony.NumberPoolEnum |  | Number of alias in case of pool — one of `10`, `50`, `100` |
| `postBox` | query | string |  | Contact post box |
| `range` | query | string | yes | Special range |
| `retractation` | query | boolean | yes | Retractation rights if set |
| `siret` | query | string | yes | Company siret |
| `socialNomination` | query | string | yes | Company social nomination |
| `specificNumber` | query | phoneNumber |  | Preselected standard number |
| `streetName` | query | string |  | Street name |
| `streetNumber` | query | string |  | Street number |
| `streetNumberExtra` | query | string |  | Street number extra |
| `streetType` | query | string |  | Street type |
| `typology` | query | telephony.NumberSpecialTypologyEnum | yes | Special range typology — one of `fr_access`, `fr_announced`, `fr_conferencing`, `fr_contentsAuto`, `fr_contentsManual`, `fr_games`, `fr_linking`, `fr_m2m`, `fr_relationship` |
| `urbanDistrict` | query | string |  | Contact urban district |
| `zip` | query | string |  | Contact zip |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/numberSpecial" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/numberSpecial")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/numberSpecial");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/numberSpecial`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-numberspecial

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/numberSpecial/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addressExtra` | string |  | Contact address extra |
| `ape` | string |  | Company ape |
| `cedex` | string |  | Contact cedex |
| `city` | string |  | Contact city |
| `country` | telephony.SpecialNumberCountryEnum | yes | Number country — one of `fr` |
| `description` | string |  | Line description |
| `displaySearchReverse` | boolean |  | Publish informations on reversed directory ? |
| `displayUniversalDirectory` | boolean | yes | Publish informations on directory ? (Yellow Pages...) |
| `email` | string |  |  |
| `firstname` | string |  | Contact firstname |
| `legalform` | nichandle.LegalFormEnum | yes | Legal form — one of `administration`, `association`, `corporation`, `individual`, `other`, `personalcorporation` |
| `name` | string |  | Contact name |
| `organisation` | string |  | Contact organisation |
| `phone` | string |  | Contact phone |
| `pool` | telephony.NumberPoolEnum |  | Number of alias in case of pool — one of `10`, `50`, `100` |
| `postBox` | string |  | Contact post box |
| `range` | string | yes | Special range |
| `retractation` | boolean | yes | Retractation rights if set |
| `siret` | string | yes | Company siret |
| `socialNomination` | string | yes | Company social nomination |
| `specificNumber` | phoneNumber |  | Preselected standard number |
| `streetName` | string |  | Street name |
| `streetNumber` | string |  | Street number |
| `streetNumberExtra` | string |  | Street number extra |
| `streetType` | string |  | Street type |
| `typology` | telephony.NumberSpecialTypologyEnum | yes | Special range typology — one of `fr_access`, `fr_announced`, `fr_conferencing`, `fr_contentsAuto`, `fr_contentsManual`, `fr_games`, `fr_linking`, `fr_m2m`, `fr_relationship` |
| `urbanDistrict` | string |  | Contact urban district |
| `zip` | string |  | Contact zip |

```json
{
  "addressExtra": "string",
  "ape": "string",
  "cedex": "string",
  "city": "string",
  "country": "fr",
  "description": "string",
  "displaySearchReverse": true,
  "displayUniversalDirectory": true,
  "email": "string",
  "firstname": "string",
  "legalform": "administration",
  "name": "string",
  "organisation": "string",
  "phone": "string",
  "pool": 10,
  "postBox": "string",
  "range": "string",
  "retractation": true,
  "siret": "string",
  "socialNomination": "string",
  "specificNumber": "string",
  "streetName": "string",
  "streetNumber": "string",
  "streetNumberExtra": "string",
  "streetType": "string",
  "typology": "fr_access",
  "urbanDistrict": "string",
  "zip": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/numberSpecial" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/telephony/{billingAccount}/numberSpecial",
	addressExtra = None, # Contact address extra (type: string, nullable)
	ape = None, # Company ape (type: string, nullable)
	cedex = None, # Contact cedex (type: string, nullable)
	city = None, # Contact city (type: string, nullable)
	country = None, # Number country (type: telephony.SpecialNumberCountryEnum)
	description = None, # Line description (type: string, nullable)
	displaySearchReverse = None, # Publish informations on reversed directory ? (type: boolean, nullable)
	displayUniversalDirectory = None, # Publish informations on directory ? (Yellow Pages...) (type: boolean)
	email = None, #  (type: string, nullable)
	firstname = None, # Contact firstname (type: string, nullable)
	legalform = None, # Legal form (type: nichandle.LegalFormEnum)
	name = None, # Contact name (type: string, nullable)
	organisation = None, # Contact organisation (type: string, nullable)
	phone = None, # Contact phone (type: string, nullable)
	pool = None, # Number of alias in case of pool (type: telephony.NumberPoolEnum, nullable)
	postBox = None, # Contact post box (type: string, nullable)
	range = None, # Special range (type: string)
	retractation = None, # Retractation rights if set (type: boolean)
	siret = None, # Company siret (type: string)
	socialNomination = None, # Company social nomination (type: string)
	specificNumber = None, # Preselected standard number (type: phoneNumber, nullable)
	streetName = None, # Street name (type: string, nullable)
	streetNumber = None, # Street number (type: string, nullable)
	streetNumberExtra = None, # Street number extra (type: string, nullable)
	streetType = None, # Street type (type: string, nullable)
	typology = None, # Special range typology (type: telephony.NumberSpecialTypologyEnum)
	urbanDistrict = None, # Contact urban district (type: string, nullable)
	zip = None, # Contact zip (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/telephony/{billingAccount}/numberSpecial", array(
	addressExtra => null, // Contact address extra (type: string, nullable)
	ape => null, // Company ape (type: string, nullable)
	cedex => null, // Contact cedex (type: string, nullable)
	city => null, // Contact city (type: string, nullable)
	country => null, // Number country (type: telephony.SpecialNumberCountryEnum)
	description => null, // Line description (type: string, nullable)
	displaySearchReverse => null, // Publish informations on reversed directory ? (type: boolean, nullable)
	displayUniversalDirectory => null, // Publish informations on directory ? (Yellow Pages...) (type: boolean)
	email => null, //  (type: string, nullable)
	firstname => null, // Contact firstname (type: string, nullable)
	legalform => null, // Legal form (type: nichandle.LegalFormEnum)
	name => null, // Contact name (type: string, nullable)
	organisation => null, // Contact organisation (type: string, nullable)
	phone => null, // Contact phone (type: string, nullable)
	pool => null, // Number of alias in case of pool (type: telephony.NumberPoolEnum, nullable)
	postBox => null, // Contact post box (type: string, nullable)
	range => null, // Special range (type: string)
	retractation => null, // Retractation rights if set (type: boolean)
	siret => null, // Company siret (type: string)
	socialNomination => null, // Company social nomination (type: string)
	specificNumber => null, // Preselected standard number (type: phoneNumber, nullable)
	streetName => null, // Street name (type: string, nullable)
	streetNumber => null, // Street number (type: string, nullable)
	streetNumberExtra => null, // Street number extra (type: string, nullable)
	streetType => null, // Street type (type: string, nullable)
	typology => null, // Special range typology (type: telephony.NumberSpecialTypologyEnum)
	urbanDistrict => null, // Contact urban district (type: string, nullable)
	zip => null, // Contact zip (type: string, nullable)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/portability`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-portability

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/portability/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |
| `building` | query | string |  | Address building |
| `callNumber` | query | string | yes | The number you want to port |
| `city` | query | string | yes | Address city |
| `contactName` | query | string |  | Your contact name |
| `contactNumber` | query | string |  | Your contact phone number |
| `country` | query | telephony.portability.CountriesAvailable | yes | Country of number — one of `belgium`, `france`, `switzerland` |
| `desireDate` | query | string (date) |  | The date you want for portability execution. Overridden if flag executeAsSoonAsPossible is set |
| `displayUniversalDirectory` | query | boolean | yes | Publish informations on directory ? (Yellow Pages...) |
| `door` | query | string |  | Address door |
| `executeAsSoonAsPossible` | query | boolean |  | Ask to port the number as soon as possible |
| `fiabilisation` | query | boolean |  | Ask for a fiabilisation or not (FR only) |
| `firstName` | query | string |  | Your firstname |
| `floor` | query | number |  | Address floor |
| `lineToRedirectAliasTo` | query | phoneNumber |  | Redirect ported numbers to the specific line |
| `listNumbers` | query | string |  | Extra numbers to be ported, a comma separated list of numbers |
| `mobilePhone` | query | phoneNumber |  | Mobile phone to use to text portability status |
| `name` | query | string | yes | Your name |
| `offer` | query | telephony.portability.OfferType | yes | The offer : individual or company — one of `company`, `individual` |
| `rio` | query | string |  | RIO of the number for individual offer |
| `siret` | query | string |  | If you port under your society, the SIRET number |
| `socialReason` | query | telephony.portability.SocialReason | yes | Your social reason — one of `corporation`, `individual`, `professional` |
| `specialNumberCategory` | query | telephony.portability.SpecialNumberCategoryEnum |  | The special number category (needed if type is special) — one of `access`, `announced`, `conferencing`, `contentsAuto`, `contentsManual`, `directory`, `games`, `linking`, `m2m`, `relationship` |
| `stair` | query | number |  | Address stair |
| `streetName` | query | string | yes | Address street name |
| `streetNumber` | query | number | yes | Address street number |
| `streetNumberExtra` | query | string |  | Address street number extra : bis, ter, ... |
| `streetType` | query | string |  | Address street type |
| `type` | query | telephony.portability.NumberType |  | The type of number : landline or special — one of `landline`, `special` |
| `zip` | query | string | yes | Address zip code |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/portability" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/portability")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/portability");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/portability`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-portability

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/portability/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `building` | string |  | Address building |
| `callNumber` | string | yes | The number you want to port |
| `city` | string | yes | Address city |
| `contactName` | string |  | Your contact name |
| `contactNumber` | string |  | Your contact phone number |
| `country` | telephony.portability.CountriesAvailable | yes | Country of number — one of `belgium`, `france`, `switzerland` |
| `desireDate` | string (date) |  | The date you want for portability execution. Overridden if flag executeAsSoonAsPossible is set |
| `displayUniversalDirectory` | boolean | yes | Publish informations on directory ? (Yellow Pages...) |
| `door` | string |  | Address door |
| `executeAsSoonAsPossible` | boolean |  | Ask to port the number as soon as possible |
| `fiabilisation` | boolean |  | Ask for a fiabilisation or not (FR only) |
| `firstName` | string |  | Your firstname |
| `floor` | number |  | Address floor |
| `lineToRedirectAliasTo` | phoneNumber |  | Redirect ported numbers to the specific line |
| `listNumbers` | string |  | Extra numbers to be ported, a comma separated list of numbers |
| `mobilePhone` | phoneNumber |  | Mobile phone to use to text portability status |
| `name` | string | yes | Your name |
| `offer` | telephony.portability.OfferType | yes | The offer : individual or company — one of `company`, `individual` |
| `rio` | string |  | RIO of the number for individual offer |
| `siret` | string |  | If you port under your society, the SIRET number |
| `socialReason` | telephony.portability.SocialReason | yes | Your social reason — one of `corporation`, `individual`, `professional` |
| `specialNumberCategory` | telephony.portability.SpecialNumberCategoryEnum |  | The special number category (needed if type is special) — one of `access`, `announced`, `conferencing`, `contentsAuto`, `contentsManual`, `directory`, `games`, `linking`, `m2m`, `relationship` |
| `stair` | number |  | Address stair |
| `streetName` | string | yes | Address street name |
| `streetNumber` | number | yes | Address street number |
| `streetNumberExtra` | string |  | Address street number extra : bis, ter, ... |
| `streetType` | string |  | Address street type |
| `type` | telephony.portability.NumberType |  | The type of number : landline or special — one of `landline`, `special` |
| `zip` | string | yes | Address zip code |

```json
{
  "building": "string",
  "callNumber": "string",
  "city": "string",
  "contactName": "string",
  "contactNumber": "string",
  "country": "belgium",
  "desireDate": "2024-01-01",
  "displayUniversalDirectory": true,
  "door": "string",
  "executeAsSoonAsPossible": true,
  "fiabilisation": true,
  "firstName": "string",
  "floor": 0,
  "lineToRedirectAliasTo": "string",
  "listNumbers": "string",
  "mobilePhone": "string",
  "name": "string",
  "offer": "company",
  "rio": "string",
  "siret": "string",
  "socialReason": "corporation",
  "specialNumberCategory": "access",
  "stair": 0,
  "streetName": "string",
  "streetNumber": 0,
  "streetNumberExtra": "string",
  "streetType": "string",
  "type": "landline",
  "zip": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/portability" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.post("/order/telephony/{billingAccount}/portability",
	building = None, # Address building (type: string, nullable)
	callNumber = None, # The number you want to port (type: string)
	city = None, # Address city (type: string)
	contactName = None, # Your contact name (type: string, nullable)
	contactNumber = None, # Your contact phone number (type: string, nullable)
	country = None, # Country of number (type: telephony.portability.CountriesAvailable)
	desireDate = None, # The date you want for portability execution. Overridden if flag executeAsSoonAsPossible is set (type: date, nullable)
	displayUniversalDirectory = None, # Publish informations on directory ? (Yellow Pages...) (type: boolean)
	door = None, # Address door (type: string, nullable)
	executeAsSoonAsPossible = None, # Ask to port the number as soon as possible (type: boolean, nullable)
	fiabilisation = None, # Ask for a fiabilisation or not (FR only) (type: boolean, nullable)
	firstName = None, # Your firstname (type: string, nullable)
	floor = None, # Address floor (type: double, nullable)
	lineToRedirectAliasTo = None, # Redirect ported numbers to the specific line (type: phoneNumber, nullable)
	listNumbers = None, # Extra numbers to be ported, a comma separated list of numbers (type: string, nullable)
	mobilePhone = None, # Mobile phone to use to text portability status (type: phoneNumber, nullable)
	name = None, # Your name (type: string)
	offer = None, # The offer : individual or company (type: telephony.portability.OfferType)
	rio = None, # RIO of the number for individual offer (type: string, nullable)
	siret = None, # If you port under your society, the SIRET number (type: string, nullable)
	socialReason = None, # Your social reason (type: telephony.portability.SocialReason)
	specialNumberCategory = None, # The special number category (needed if type is special) (type: telephony.portability.SpecialNumberCategoryEnum, nullable)
	stair = None, # Address stair (type: double, nullable)
	streetName = None, # Address street name (type: string)
	streetNumber = None, # Address street number (type: double)
	streetNumberExtra = None, # Address street number extra : bis, ter, ... (type: string, nullable)
	streetType = None, # Address street type (type: string, nullable)
	type = None, # The type of number : landline or special (type: telephony.portability.NumberType, nullable)
	zip = None, # Address zip code (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->post("/order/telephony/{billingAccount}/portability", array(
	building => null, // Address building (type: string, nullable)
	callNumber => null, // The number you want to port (type: string)
	city => null, // Address city (type: string)
	contactName => null, // Your contact name (type: string, nullable)
	contactNumber => null, // Your contact phone number (type: string, nullable)
	country => null, // Country of number (type: telephony.portability.CountriesAvailable)
	desireDate => null, // The date you want for portability execution. Overridden if flag executeAsSoonAsPossible is set (type: date, nullable)
	displayUniversalDirectory => null, // Publish informations on directory ? (Yellow Pages...) (type: boolean)
	door => null, // Address door (type: string, nullable)
	executeAsSoonAsPossible => null, // Ask to port the number as soon as possible (type: boolean, nullable)
	fiabilisation => null, // Ask for a fiabilisation or not (FR only) (type: boolean, nullable)
	firstName => null, // Your firstname (type: string, nullable)
	floor => null, // Address floor (type: double, nullable)
	lineToRedirectAliasTo => null, // Redirect ported numbers to the specific line (type: phoneNumber, nullable)
	listNumbers => null, // Extra numbers to be ported, a comma separated list of numbers (type: string, nullable)
	mobilePhone => null, // Mobile phone to use to text portability status (type: phoneNumber, nullable)
	name => null, // Your name (type: string)
	offer => null, // The offer : individual or company (type: telephony.portability.OfferType)
	rio => null, // RIO of the number for individual offer (type: string, nullable)
	siret => null, // If you port under your society, the SIRET number (type: string, nullable)
	socialReason => null, // Your social reason (type: telephony.portability.SocialReason)
	specialNumberCategory => null, // The special number category (needed if type is special) (type: telephony.portability.SpecialNumberCategoryEnum, nullable)
	stair => null, // Address stair (type: double, nullable)
	streetName => null, // Address street name (type: string)
	streetNumber => null, // Address street number (type: double)
	streetNumberExtra => null, // Address street number extra : bis, ter, ... (type: string, nullable)
	streetType => null, // Address street type (type: string, nullable)
	type => null, // The type of number : landline or special (type: telephony.portability.NumberType, nullable)
	zip => null, // Address zip code (type: string)
));

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/telephony/{billingAccount}/securityDeposit`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-telephony-billingaccount-securitydeposit

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/securityDeposit/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `amount` | query | telephony.SecurityDepositAmountsEnum | yes | The amount, in euros, to credit to the current security deposit — one of `10`, `20`, `30`, `40`, `50`, `100`, `200`, `300`, `400`, `500`, `1000`, `2000`, … |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/securityDeposit" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/telephony/{billingAccount}/securityDeposit")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/telephony/{billingAccount}/securityDeposit");

print_r($result);
?>
```

## Create order

`POST /1.0/order/telephony/{billingAccount}/securityDeposit`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-telephony-billingaccount-securitydeposit

**Status:** Stable production version  
**IAM actions:** `order:apiovh:telephony/securityDeposit/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billingAccount` | path | string | yes | The name of your billingAccount |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | telephony.SecurityDepositAmountsEnum | yes | The amount, in euros, to credit to the current security deposit — one of `10`, `20`, `30`, `40`, `50`, `100`, `200`, `300`, `400`, `500`, `1000`, `2000`, … |

```json
{
  "amount": 10
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/telephony/{billingAccount}/securityDeposit" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: telephony.SecurityDepositAmountsEnum
result = client.post("/order/telephony/{billingAccount}/securityDeposit",
	amount = None, # The amount, in euros, to credit to the current security deposit (type: telephony.SecurityDepositAmountsEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: telephony.SecurityDepositAmountsEnum
$result = $ovh->post("/order/telephony/{billingAccount}/securityDeposit", array(
	amount => null, // The amount, in euros, to credit to the current security deposit (type: telephony.SecurityDepositAmountsEnum)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/bandwidthVrack`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-bandwidthvrack

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/bandwidthVrack/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/bandwidthVrack" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/bandwidthVrack")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/bandwidthVrack");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/bandwidthVrack/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-bandwidthvrack-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/bandwidthVrack/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The vRack bandwidth service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/bandwidthVrack/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/bandwidthVrack/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/bandwidthVrack/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/bandwidthVrack/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-bandwidthvrack-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/bandwidthVrack/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The vRack bandwidth service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/bandwidthVrack/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/bandwidthVrack/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/bandwidthVrack/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/bandwidthVrack/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-bandwidthvrack-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/bandwidthVrack/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The vRack bandwidth service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/bandwidthVrack/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/bandwidthVrack/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/bandwidthVrack/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/baremetalPrivateBandwidth`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-baremetalprivatebandwidth

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPrivateBandwidth/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPrivateBandwidth" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/baremetalPrivateBandwidth")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/baremetalPrivateBandwidth");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/baremetalPrivateBandwidth/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-baremetalprivatebandwidth-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPrivateBandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The dedicated service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPrivateBandwidth/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/baremetalPrivateBandwidth/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/baremetalPrivateBandwidth/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-baremetalprivatebandwidth-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPrivateBandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The dedicated service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-baremetalprivatebandwidth-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPrivateBandwidth/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The dedicated service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/baremetalPrivateBandwidth/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/baremetalPublicBandwidth`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-baremetalpublicbandwidth

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPublicBandwidth/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPublicBandwidth" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/baremetalPublicBandwidth")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/baremetalPublicBandwidth");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/baremetalPublicBandwidth/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-baremetalpublicbandwidth-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPublicBandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The dedicated service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPublicBandwidth/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/baremetalPublicBandwidth/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/baremetalPublicBandwidth/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-baremetalpublicbandwidth-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPublicBandwidth/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The dedicated service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-baremetalpublicbandwidth-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/baremetalPublicBandwidth/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The dedicated service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/baremetalPublicBandwidth/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/cephaas`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-cephaas

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cephaas/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cephaas" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/cephaas")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/cephaas");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/cephaas/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-cephaas-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cephaas/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Ceph service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cephaas/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/cephaas/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/cephaas/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/cephaas/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-cephaas-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cephaas/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of Ceph service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cephaas/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/cephaas/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/cephaas/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/cephaas/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-cephaas-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cephaas/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of Ceph service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cephaas/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/cephaas/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/cephaas/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/cloudDB`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-clouddb

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cloudDB/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cloudDB" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/cloudDB")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/cloudDB");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/cloudDB/{domain}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-clouddb-domain

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cloudDB/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | The internal ID of your cloudDB service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cloudDB/{domain}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/cloudDB/{domain}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/cloudDB/{domain}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/cloudDB/{domain}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-clouddb-domain-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cloudDB/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | The internal ID of your cloudDB service |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cloudDB/{domain}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/cloudDB/{domain}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/cloudDB/{domain}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/cloudDB/{domain}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-clouddb-domain-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/cloudDB/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | The internal ID of your cloudDB service |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/cloudDB/{domain}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/cloudDB/{domain}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/cloudDB/{domain}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/emailDomain`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-emaildomain

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/emailDomain/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/emailDomain" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/emailDomain")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/emailDomain");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/emailDomain/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-emaildomain-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/emailDomain/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your email service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/emailDomain/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/emailDomain/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/emailDomain/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/emailDomain/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-emaildomain-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/emailDomain/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your email service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/emailDomain/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/emailDomain/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/emailDomain/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/emailDomain/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-emaildomain-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/emailDomain/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your email service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/emailDomain/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/emailDomain/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/emailDomain/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/ipLoadbalancing`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-iploadbalancing

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/ipLoadbalancing/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/ipLoadbalancing" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/ipLoadbalancing")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/ipLoadbalancing");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/ipLoadbalancing/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-iploadbalancing-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/ipLoadbalancing/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your IPLB service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/ipLoadbalancing/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/ipLoadbalancing/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/ipLoadbalancing/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-iploadbalancing-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/ipLoadbalancing/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your IPLB service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-iploadbalancing-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/ipLoadbalancing/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your IPLB service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/ipLoadbalancing/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/licenseHycu`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licensehycu

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licenseHycu/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licenseHycu" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licenseHycu")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licenseHycu");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/licenseHycu/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licensehycu-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licenseHycu/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your HYCU license service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licenseHycu/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licenseHycu/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licenseHycu/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/licenseHycu/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licensehycu-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licenseHycu/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your HYCU license service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licenseHycu/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licenseHycu/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licenseHycu/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/licenseHycu/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-licensehycu-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licenseHycu/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your HYCU license service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licenseHycu/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/licenseHycu/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/licenseHycu/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/licensePlesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licenseplesk

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensePlesk/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensePlesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licensePlesk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licensePlesk");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/licensePlesk/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licenseplesk-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensePlesk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your Plesk license service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensePlesk/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licensePlesk/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licensePlesk/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/licensePlesk/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licenseplesk-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensePlesk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your Plesk license service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensePlesk/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licensePlesk/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licensePlesk/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/licensePlesk/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-licenseplesk-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensePlesk/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your Plesk license service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensePlesk/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/licensePlesk/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/licensePlesk/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/licensecPanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licensecpanel

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensecPanel/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensecPanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licensecPanel")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licensecPanel");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/licensecPanel/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licensecpanel-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensecPanel/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your cPanel license service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensecPanel/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licensecPanel/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licensecPanel/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/licensecPanel/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-licensecpanel-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensecPanel/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your cPanel license service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensecPanel/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/licensecPanel/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/licensecPanel/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/licensecPanel/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-licensecpanel-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/licensecPanel/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your cPanel license service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/licensecPanel/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/licensecPanel/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/licensecPanel/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/logs`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-logs

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/logs/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/logs" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/logs")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/logs");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/logs/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-logs-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/logs/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of DBaaS Logs service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/logs/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/logs/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/logs/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/logs/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-logs-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/logs/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of DBaaS Logs service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/logs/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/logs/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/logs/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/logs/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-logs-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/logs/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of DBaaS Logs service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/logs/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/logs/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/logs/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/managedCMS`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-managedcms

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/managedCMS/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/managedCMS" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/managedCMS")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/managedCMS");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/managedCMS/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-managedcms-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/managedCMS/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your managed CMS |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/managedCMS/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/managedCMS/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/managedCMS/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/managedCMS/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-managedcms-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/managedCMS/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your managed CMS |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/managedCMS/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/managedCMS/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/managedCMS/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/managedCMS/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-managedcms-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/managedCMS/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your managed CMS |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/managedCMS/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/managedCMS/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/managedCMS/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/metrics`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-metrics

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/metrics/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/metrics" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/metrics")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/metrics");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/metrics/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-metrics-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/metrics/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your Metrics service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/metrics/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/metrics/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/metrics/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/metrics/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-metrics-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/metrics/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your Metrics service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/metrics/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/metrics/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/metrics/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/metrics/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-metrics-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/metrics/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your Metrics service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/metrics/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/metrics/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/metrics/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/microsoftExchange`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-microsoftexchange

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/microsoftExchange/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/microsoftExchange" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/microsoftExchange")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/microsoftExchange");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/microsoftExchange/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-microsoftexchange-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/microsoftExchange/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of Microsoft service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/microsoftExchange/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/microsoftExchange/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/microsoftExchange/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/microsoftExchange/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-microsoftexchange-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/microsoftExchange/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of Microsoft service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/microsoftExchange/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/microsoftExchange/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/microsoftExchange/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/microsoftExchange/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-microsoftexchange-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/microsoftExchange/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of Microsoft service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/microsoftExchange/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/microsoftExchange/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/microsoftExchange/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/netapp`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-netapp

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/netapp/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/netapp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/netapp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/netapp");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/netapp/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-netapp-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/netapp/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The netapp storage id |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/netapp/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/netapp/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/netapp/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/netapp/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-netapp-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/netapp/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The netapp storage id |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/netapp/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/netapp/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/netapp/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/netapp/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-netapp-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/netapp/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The netapp storage id |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/netapp/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/netapp/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/netapp/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/privateCloud`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatecloud

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloud/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloud" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateCloud")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateCloud");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/privateCloud/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatecloud-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloud/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloud/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateCloud/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateCloud/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/privateCloud/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatecloud-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloud/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloud/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateCloud/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateCloud/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/privateCloud/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-privatecloud-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloud/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloud/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/privateCloud/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/privateCloud/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/privateCloudManagementFee`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatecloudmanagementfee

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloudManagementFee/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloudManagementFee" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateCloudManagementFee")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateCloudManagementFee");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/privateCloudManagementFee/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatecloudmanagementfee-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloudManagementFee/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloudManagementFee/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateCloudManagementFee/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateCloudManagementFee/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatecloudmanagementfee-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloudManagementFee/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-privatecloudmanagementfee-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateCloudManagementFee/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The Dedicated Cloud service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/privateCloudManagementFee/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/privateSQL`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatesql

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateSQL/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateSQL" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateSQL")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateSQL");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/privateSQL/{domain}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatesql-domain

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateSQL/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | The internal ID of your private SQL service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateSQL/{domain}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateSQL/{domain}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateSQL/{domain}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/privateSQL/{domain}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-privatesql-domain-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateSQL/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | The internal ID of your private SQL service |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateSQL/{domain}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/privateSQL/{domain}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/privateSQL/{domain}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/privateSQL/{domain}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-privatesql-domain-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/privateSQL/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | The internal ID of your private SQL service |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/privateSQL/{domain}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/privateSQL/{domain}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/privateSQL/{domain}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/sslGateway`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-sslgateway

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/sslGateway/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/sslGateway" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/sslGateway")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/sslGateway");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/sslGateway/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-sslgateway-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/sslGateway/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of SSL Gateway service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/sslGateway/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/sslGateway/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/sslGateway/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/sslGateway/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-sslgateway-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/sslGateway/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of SSL Gateway service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/sslGateway/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/sslGateway/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/sslGateway/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/sslGateway/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-sslgateway-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/sslGateway/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of SSL Gateway service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/sslGateway/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/sslGateway/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/sslGateway/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-vps

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vps/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/vps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/vps");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/vps/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-vps-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vps/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your VPS service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vps/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/vps/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/vps/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/vps/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-vps-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vps/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your VPS service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vps/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/vps/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/vps/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/vps/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-vps-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vps/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your VPS service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vps/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/vps/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/vps/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/vpsAdditionalDisk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-vpsadditionaldisk

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vpsAdditionalDisk/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vpsAdditionalDisk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/vpsAdditionalDisk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/vpsAdditionalDisk");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/vpsAdditionalDisk/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-vpsadditionaldisk-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vpsAdditionalDisk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The VPS service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vpsAdditionalDisk/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/vpsAdditionalDisk/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/vpsAdditionalDisk/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-vpsadditionaldisk-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vpsAdditionalDisk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The VPS service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-vpsadditionaldisk-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/vpsAdditionalDisk/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The VPS service name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/vpsAdditionalDisk/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/webHosting`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-webhosting

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/webHosting/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/webHosting" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/webHosting")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/webHosting");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/webHosting/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-webhosting-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/webHosting/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your webhosting service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/webHosting/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/webHosting/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/webHosting/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/webHosting/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-webhosting-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/webHosting/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `quantity` | query | integer | yes | Quantity you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your webhosting service |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/webHosting/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/webHosting/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/webHosting/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/webHosting/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-webhosting-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:upgrade/webHosting/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your webhosting service |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |
| `quantity` | integer | yes | Quantity you want to upgrade to |

```json
{
  "autoPayWithPreferredPaymentMethod": true,
  "quantity": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/webHosting/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/upgrade/webHosting/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity = None, # Quantity you want to upgrade to (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/upgrade/webHosting/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
	quantity => null, // Quantity you want to upgrade to (type: long)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/upgrade/zimbra`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-zimbra

**Status:** Beta version  
**IAM actions:** `order:apiovh:zimbra/upgrade/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/zimbra" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/zimbra")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/zimbra");

print_r($result);
?>
```

## Retrieve available offers to upgrade your service to

`GET /1.0/order/upgrade/zimbra/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-zimbra-servicename

**Status:** Beta version  
**IAM actions:** `order:apiovh:zimbra/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal ID of your Zimbra account slots |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.cart.GenericProductDefinition[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `planCode` | string |  | Product offer identifier |
| `prices` | order.cart.GenericProductPricing[] |  | Prices of the product offer |
| `prices[].capacities` | order.cart.GenericProductPricingCapacitiesEnum[] |  | Capacities of the pricing (type of pricing) |
| `prices[].description` | string |  | Description of the pricing |
| `prices[].duration` | string |  | Duration for ordering the product |
| `prices[].interval` | integer |  | Interval of renewal |
| `prices[].maximumQuantity` | integer |  | Maximum quantity that can be ordered |
| `prices[].maximumRepeat` | integer |  | Maximum repeat for renewal |
| `prices[].minimumQuantity` | integer |  | Minimum quantity that can be ordered |
| `prices[].minimumRepeat` | integer |  | Minimum repeat for renewal |
| `prices[].price` | order.Price |  | Price of the product |
| `prices[].price.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices[].price.text` | string |  |  |
| `prices[].price.value` | number |  |  |
| `prices[].priceInUcents` | integer |  | Price of the product in micro-centims |
| `prices[].pricingMode` | string |  | Pricing model identifier |
| `prices[].pricingType` | order.cart.GenericProductPricingTypeEnum |  | Pricing type — one of `consumption`, `purchase`, `rental` |
| `productName` | string |  | Name of the product |
| `productType` | order.cart.GenericProductTypeEnum |  | Product type — one of `cloud_service`, `delivery`, `deposit`, `domain`, `implementation_services`, `saas_license`, `shipping`, `storage` |

```json
[
  {
    "planCode": "string",
    "prices": [
      {
        "capacities": [
          "detach"
        ],
        "description": "string",
        "duration": "string",
        "interval": 0,
        "maximumQuantity": 0,
        "maximumRepeat": 0,
        "minimumQuantity": 0,
        "minimumRepeat": 0,
        "price": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "priceInUcents": 0,
        "pricingMode": "string",
        "pricingType": "consumption"
      }
    ],
    "productName": "string",
    "productType": "cloud_service"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/zimbra/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/zimbra/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/zimbra/{serviceName}");

print_r($result);
?>
```

## Get a provisional order for the selected upgrade of your service

`GET /1.0/order/upgrade/zimbra/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-upgrade-zimbra-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:zimbra/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your Zimbra account slots |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/zimbra/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/upgrade/zimbra/{serviceName}/{planCode}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/upgrade/zimbra/{serviceName}/{planCode}");

print_r($result);
?>
```

## Perform the requested upgrade of your service

`POST /1.0/order/upgrade/zimbra/{serviceName}/{planCode}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-upgrade-zimbra-servicename-plancode

**Status:** Beta version  
**IAM actions:** `order:apiovh:zimbra/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `planCode` | path | string | yes | Plan code of the offer you want to upgrade to |
| `serviceName` | path | string | yes | The internal ID of your Zimbra account slots |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `autoPayWithPreferredPaymentMethod` | boolean |  | Indicates that order will be automatically paid with preferred payment method |

```json
{
  "autoPayWithPreferredPaymentMethod": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.upgrade.OperationAndOrder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `operation` | order.upgrade.Operation |  | Upgrade operation |
| `operation.id` | integer |  | Identifier of the operation |
| `operation.product` | order.upgrade.OperationProduct |  | Product concerned by the operation |
| `operation.product.description` | string |  | Detailled description of a product |
| `operation.product.name` | string |  | Name of the product |
| `operation.status` | order.upgrade.OperationStatusEnum |  | Status of the operation — one of `CANCELLED`, `DELAYED`, `DOING`, `DONE`, `ERROR`, `SCHEDULED`, `TODO` |
| `operation.type` | order.upgrade.OperationTypeEnum |  | Type of the operation — one of `UPGRADE` |
| `order` | order.Order |  | Order placed |
| `order.contracts` | order.Contract[] |  |  |
| `order.contracts[].content` | string |  |  |
| `order.contracts[].name` | string |  |  |
| `order.contracts[].url` | string |  |  |
| `order.details` | order.OrderDetail[] |  |  |
| `order.details[].description` | string |  |  |
| `order.details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `order.details[].domain` | string |  |  |
| `order.details[].quantity` | integer |  |  |
| `order.details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `order.orderId` | integer |  |  |
| `order.prices` | order.OrderPrices |  | Prices of an order |
| `order.prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `order.prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `order.url` | string |  |  |

```json
{
  "operation": {
    "id": 0,
    "product": {
      "description": "string",
      "name": "string"
    },
    "status": "CANCELLED",
    "type": "UPGRADE"
  },
  "order": {
    "contracts": [
      {
        "content": "string",
        "name": "string",
        "url": "string"
      }
    ],
    "details": [
      {
        "description": "string",
        "detailType": "ACCESSORY",
        "domain": "string",
        "quantity": 0,
        "totalPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        },
        "unitPrice": {
          "currencyCode": "AUD",
          "text": "string",
          "value": 0
        }
      }
    ],
    "orderId": 0,
    "prices": {
      "tax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "withoutTax": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    },
    "url": "string"
  }
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/upgrade/zimbra/{serviceName}/{planCode}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: boolean
result = client.post("/order/upgrade/zimbra/{serviceName}/{planCode}",
	autoPayWithPreferredPaymentMethod = None, # Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: boolean
$result = $ovh->post("/order/upgrade/zimbra/{serviceName}/{planCode}", array(
	autoPayWithPreferredPaymentMethod => null, // Indicates that order will be automatically paid with preferred payment method (type: boolean, nullable)
));

print_r($result);
?>
```

## Veeam Cloud Connect order

`GET /1.0/order/veeamCloudConnect`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-veeamcloudconnect

**Status:** Stable production version  
**IAM actions:** `order:apiovh:veeamCloudConnect/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/veeamCloudConnect" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/veeamCloudConnect")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/veeamCloudConnect");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/veeamCloudConnect/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-veeamcloudconnect-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:veeamCloudConnect/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/veeamCloudConnect/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/veeamCloudConnect/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/veeamCloudConnect/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/veeamCloudConnect/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-veeamcloudconnect-servicename-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:veeamCloudConnect/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `offer` | query | veeamCloudConnect.Offer | yes | The offer on which you want to be upgraded — one of `advanced`, `demo`, `starter` |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/veeamCloudConnect/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/veeamCloudConnect/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/veeamCloudConnect/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/veeamCloudConnect/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-veeamcloudconnect-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:veeamCloudConnect/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `offer` | query | veeamCloudConnect.Offer | yes | The offer on which you want to be upgraded — one of `advanced`, `demo`, `starter` |
| `serviceName` | path | string | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/veeamCloudConnect/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/veeamCloudConnect/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/veeamCloudConnect/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/veeamCloudConnect/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-veeamcloudconnect-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:veeamCloudConnect/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes |  |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `offer` | veeamCloudConnect.Offer | yes | The offer on which you want to be upgraded — one of `advanced`, `demo`, `starter` |

```json
{
  "offer": "advanced"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/veeamCloudConnect/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: veeamCloudConnect.Offer
result = client.post("/order/veeamCloudConnect/{serviceName}/upgrade/{duration}",
	offer = None, # The offer on which you want to be upgraded (type: veeamCloudConnect.Offer)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: veeamCloudConnect.Offer
$result = $ovh->post("/order/veeamCloudConnect/{serviceName}/upgrade/{duration}", array(
	offer => null, // The offer on which you want to be upgraded (type: veeamCloudConnect.Offer)
));

print_r($result);
?>
```

## List available services

`GET /1.0/order/vps`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/get`

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps");

print_r($result);
?>
```

## Get allowed options

`GET /1.0/order/vps/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}");

print_r($result);
?>
```

## Get allowed durations for 'additionalDisk' option

`GET /1.0/order/vps/{serviceName}/additionalDisk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-additionaldisk

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/additionalDisk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `additionalDiskSize` | query | vps.additionalDisk.AdditionalDiskSizeEnum | yes | Size of the additional disk — one of `100`, `200`, `50`, `500` |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/additionalDisk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/additionalDisk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/additionalDisk");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/additionalDisk/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-additionaldisk-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/additionalDisk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `additionalDiskSize` | query | vps.additionalDisk.AdditionalDiskSizeEnum | yes | Size of the additional disk — one of `100`, `200`, `50`, `500` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/additionalDisk/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/additionalDisk/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/additionalDisk/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/additionalDisk/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-additionaldisk-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/additionalDisk/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `additionalDiskSize` | vps.additionalDisk.AdditionalDiskSizeEnum | yes | Size of the additional disk — one of `100`, `200`, `50`, `500` |

```json
{
  "additionalDiskSize": "100"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/additionalDisk/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: vps.additionalDisk.AdditionalDiskSizeEnum
result = client.post("/order/vps/{serviceName}/additionalDisk/{duration}",
	additionalDiskSize = None, # Size of the additional disk (type: vps.additionalDisk.AdditionalDiskSizeEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: vps.additionalDisk.AdditionalDiskSizeEnum
$result = $ovh->post("/order/vps/{serviceName}/additionalDisk/{duration}", array(
	additionalDiskSize => null, // Size of the additional disk (type: vps.additionalDisk.AdditionalDiskSizeEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'automatedBackup' option

`GET /1.0/order/vps/{serviceName}/automatedBackup`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-automatedbackup

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/automatedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/automatedBackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/automatedBackup")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/automatedBackup");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/automatedBackup/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-automatedbackup-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/automatedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/automatedBackup/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/automatedBackup/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/automatedBackup/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/automatedBackup/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-automatedbackup-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/automatedBackup/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/automatedBackup/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/vps/{serviceName}/automatedBackup/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/vps/{serviceName}/automatedBackup/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'cpanel' option

`GET /1.0/order/vps/{serviceName}/cpanel`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-cpanel

**Status:** Deprecated, will be removed  
**Deprecated** since 2014-05-06, removed on 2014-07-06; use `/order/license/{serviceName}/cpanel/new` instead.  
**IAM actions:** `order:apiovh:vps/cpanel/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/cpanel" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/cpanel")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/cpanel");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/cpanel/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-cpanel-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2014-05-06, removed on 2014-07-06; use `/order/license/{serviceName}/cpanel/new` instead.  
**IAM actions:** `order:apiovh:vps/cpanel/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/cpanel/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/cpanel/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/cpanel/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/cpanel/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-cpanel-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2014-05-06, removed on 2014-07-06; use `/order/license/{serviceName}/cpanel/new` instead.  
**IAM actions:** `order:apiovh:vps/cpanel/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/cpanel/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/vps/{serviceName}/cpanel/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/vps/{serviceName}/cpanel/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'ftpbackup' option

`GET /1.0/order/vps/{serviceName}/ftpbackup`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-ftpbackup

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/ftpbackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/ftpbackup" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/ftpbackup")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/ftpbackup");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/ftpbackup/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-ftpbackup-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/ftpbackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/ftpbackup/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/ftpbackup/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/ftpbackup/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/ftpbackup/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-ftpbackup-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/ftpbackup/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/ftpbackup/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/vps/{serviceName}/ftpbackup/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/vps/{serviceName}/ftpbackup/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'plesk' option

`GET /1.0/order/vps/{serviceName}/plesk`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-plesk

**Status:** Deprecated, will be removed  
**Deprecated** since 2014-05-06, removed on 2014-07-06; use `/order/license/{serviceName}/plesk/new` instead.  
**IAM actions:** `order:apiovh:vps/plesk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domainNumber` | query | vps.PleskLicenseDomainNumberEnum | yes | Domain number you want to order a licence for — one of `10`, `100`, `300`, `hostingsuite` |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/plesk" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/plesk")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/plesk");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/plesk/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-plesk-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2014-05-06, removed on 2014-07-06; use `/order/license/{serviceName}/plesk/new` instead.  
**IAM actions:** `order:apiovh:vps/plesk/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domainNumber` | query | vps.PleskLicenseDomainNumberEnum | yes | Domain number you want to order a licence for — one of `10`, `100`, `300`, `hostingsuite` |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/plesk/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/plesk/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/plesk/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/plesk/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-plesk-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2014-05-06, removed on 2014-07-06; use `/order/license/{serviceName}/plesk/new` instead.  
**IAM actions:** `order:apiovh:vps/plesk/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `domainNumber` | vps.PleskLicenseDomainNumberEnum | yes | Domain number you want to order a licence for — one of `10`, `100`, `300`, `hostingsuite` |

```json
{
  "domainNumber": "10"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/plesk/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: vps.PleskLicenseDomainNumberEnum
result = client.post("/order/vps/{serviceName}/plesk/{duration}",
	domainNumber = None, # Domain number you want to order a licence for (type: vps.PleskLicenseDomainNumberEnum)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: vps.PleskLicenseDomainNumberEnum
$result = $ovh->post("/order/vps/{serviceName}/plesk/{duration}", array(
	domainNumber => null, // Domain number you want to order a licence for (type: vps.PleskLicenseDomainNumberEnum)
));

print_r($result);
?>
```

## Get allowed durations for 'snapshot' option

`GET /1.0/order/vps/{serviceName}/snapshot`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-snapshot

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/snapshot/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/snapshot" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/snapshot")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/snapshot");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/snapshot/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-snapshot-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/snapshot/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/snapshot/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/snapshot/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/snapshot/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/snapshot/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-snapshot-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/snapshot/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/snapshot/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/vps/{serviceName}/snapshot/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/vps/{serviceName}/snapshot/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'upgrade' option

`GET /1.0/order/vps/{serviceName}/upgrade`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-upgrade

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `model` | query | string | yes | Model |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/upgrade" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/upgrade")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/upgrade");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/upgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `model` | query | string | yes | Model |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/upgrade/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/upgrade/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/upgrade/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-upgrade-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/upgrade/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `model` | string | yes | Model |

```json
{
  "model": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/upgrade/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: string
result = client.post("/order/vps/{serviceName}/upgrade/{duration}",
	model = None, # Model (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: string
$result = $ovh->post("/order/vps/{serviceName}/upgrade/{duration}", array(
	model => null, // Model (type: string)
));

print_r($result);
?>
```

## Get allowed durations for 'veeam' option

`GET /1.0/order/vps/{serviceName}/veeam`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-veeam

**Status:** Deprecated, will be removed  
**Deprecated** since 2015-12-26, removed on 2016-01-08; use `/order/vps/{serviceName}/automatedBackup` instead.  
**IAM actions:** `order:apiovh:vps/veeam/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/veeam" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/veeam")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/veeam");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/veeam/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-veeam-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2015-12-26, removed on 2016-01-08; use `/order/vps/{serviceName}/automatedBackup` instead.  
**IAM actions:** `order:apiovh:vps/veeam/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/veeam/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/veeam/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/veeam/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/veeam/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-veeam-duration

**Status:** Deprecated, will be removed  
**Deprecated** since 2015-12-26, removed on 2016-01-08; use `/order/vps/{serviceName}/automatedBackup` instead.  
**IAM actions:** `order:apiovh:vps/veeam/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/veeam/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/vps/{serviceName}/veeam/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/vps/{serviceName}/veeam/{duration}");

print_r($result);
?>
```

## Get allowed durations for 'windows' option

`GET /1.0/order/vps/{serviceName}/windows`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-windows

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/windows/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/windows" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/windows")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/windows");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/vps/{serviceName}/windows/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-vps-servicename-windows-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/windows/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/windows/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/vps/{serviceName}/windows/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/vps/{serviceName}/windows/{duration}");

print_r($result);
?>
```

## Create order

`POST /1.0/order/vps/{serviceName}/windows/{duration}`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-vps-servicename-windows-duration

**Status:** Stable production version  
**IAM actions:** `order:apiovh:vps/windows/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `duration` | path | string | yes | Duration |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/vps/{serviceName}/windows/{duration}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/vps/{serviceName}/windows/{duration}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/vps/{serviceName}/windows/{duration}");

print_r($result);
?>
```

## Get prices and contracts information

`GET /1.0/order/xdsl/spare/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#get-order-xdsl-spare-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/xdsl/spare/new/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `brand` | query | string | yes | Spare modem brand model |
| `mondialRelayId` | query | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `quantity` | query | integer | yes | Number of modem quantity |
| `shippingContactId` | query | integer | yes | Shipping contact information id from /me entry point |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/order/xdsl/spare/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/order/xdsl/spare/new")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/order/xdsl/spare/new");

print_r($result);
?>
```

## Create order

`POST /1.0/order/xdsl/spare/new`

Link: https://developers.eu.ovhcloud.com/reference/offers-services/orders/#post-order-xdsl-spare-new

**Status:** Stable production version  
**IAM actions:** `account:apiovh:order/xdsl/spare/new/create`

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `brand` | string | yes | Spare modem brand model |
| `mondialRelayId` | string |  | Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. |
| `quantity` | integer | yes | Number of modem quantity |
| `shippingContactId` | integer | yes | Shipping contact information id from /me entry point |

```json
{
  "brand": "string",
  "mondialRelayId": "string",
  "quantity": 0,
  "shippingContactId": 0
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | order.Order | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contracts` | order.Contract[] |  |  |
| `contracts[].content` | string |  |  |
| `contracts[].name` | string |  |  |
| `contracts[].url` | string |  |  |
| `details` | order.OrderDetail[] |  |  |
| `details[].description` | string |  |  |
| `details[].detailType` | order.OrderDetailTypeEnum |  | Product type of item in order — one of `ACCESSORY`, `CAUTION`, `CHOOSED`, `CONSUMPTION`, `CREATION`, `DELIVERY`, `DURATION`, `GIFT`, `INSTALLATION`, `LICENSE`, `MUTE`, `OTHER`, … |
| `details[].domain` | string |  |  |
| `details[].quantity` | integer |  |  |
| `details[].totalPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].totalPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].totalPrice.text` | string |  |  |
| `details[].totalPrice.value` | number |  |  |
| `details[].unitPrice` | order.Price |  | Price with it's currency and textual representation |
| `details[].unitPrice.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `details[].unitPrice.text` | string |  |  |
| `details[].unitPrice.value` | number |  |  |
| `orderId` | integer |  |  |
| `prices` | order.OrderPrices |  | Prices of an order |
| `prices.tax` | order.Price |  | Price with it's currency and textual representation |
| `prices.tax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.tax.text` | string |  |  |
| `prices.tax.value` | number |  |  |
| `prices.withTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withTax.text` | string |  |  |
| `prices.withTax.value` | number |  |  |
| `prices.withoutTax` | order.Price |  | Price with it's currency and textual representation |
| `prices.withoutTax.currencyCode` | order.CurrencyCodeEnum |  | one of `AUD`, `CAD`, `CZK`, `EUR`, `GBP`, `INR`, `LTL`, `MAD`, `N/A`, `PLN`, `SGD`, `TND`, … |
| `prices.withoutTax.text` | string |  |  |
| `prices.withoutTax.value` | number |  |  |
| `url` | string |  |  |

```json
{
  "contracts": [
    {
      "content": "string",
      "name": "string",
      "url": "string"
    }
  ],
  "details": [
    {
      "description": "string",
      "detailType": "ACCESSORY",
      "domain": "string",
      "quantity": 0,
      "totalPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      },
      "unitPrice": {
        "currencyCode": "AUD",
        "text": "string",
        "value": 0
      }
    }
  ],
  "orderId": 0,
  "prices": {
    "tax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    },
    "withoutTax": {
      "currencyCode": "AUD",
      "text": "string",
      "value": 0
    }
  },
  "url": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/order/xdsl/spare/new" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/order/xdsl/spare/new",
	brand = None, # Spare modem brand model (type: string)
	mondialRelayId = None, # Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	quantity = None, # Number of modem quantity (type: long)
	shippingContactId = None, # Shipping contact information id from /me entry point (type: long)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/order/xdsl/spare/new", array(
	brand => null, // Spare modem brand model (type: string)
	mondialRelayId => null, // Use /supply/mondialRelay entry point to specify a relay point and ignore shipping contact address information entry. (type: string, nullable)
	quantity => null, // Number of modem quantity (type: long)
	shippingContactId => null, // Shipping contact information id from /me entry point (type: long)
));

print_r($result);
?>
```
