{"openapi":"3.0.0","info":{"title":"OVHcloud API specification","description":"Specification for OVHcloud API","version":"1.0","contact":{"name":"OVH","email":"api@ml.ovh.net"}},"servers":[{"url":"https://api.eu.ovhcloud.com/1.0"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"dedicated.cluster.AvailabilitiesRaw":{"type":"object","description":"Cluster availability","properties":{"clusterPlanCode":{"type":"string","description":"Plan code in which the hardware is involved","readOnly":true},"fqn":{"type":"string","description":"Fully qualified name and unique name of the hardware","readOnly":true},"memory":{"type":"string","description":"Name of the memory hardware part","readOnly":true},"planCode":{"type":"string","description":"Plan code in which the hardware is involved","readOnly":true},"regions":{"type":"array","description":"A structure describing the hardware availability for each region","items":{"$ref":"#/components/schemas/dedicated.cluster.AvailabilitiesRawRegion"},"readOnly":true},"server":{"type":"string","description":"Name of the base hardware","readOnly":true},"storage":{"type":"string","description":"Name of the storage hardware part","readOnly":true},"systemStorage":{"type":"string","description":"Name of the system storage hardware part","nullable":true,"readOnly":true}}},"dedicated.cluster.AvailabilitiesRawRegion":{"type":"object","description":"A structure describing the hardware raw availability for each region","properties":{"availability":{"allOf":[{"$ref":"#/components/schemas/dedicated.server.AvailabilityEnum"}],"description":"The availability","readOnly":true},"lastRule":{"type":"string","description":"Last availability rule applied","nullable":true,"readOnly":true},"parentAvailable":{"type":"integer","description":"Real stock including parent references","readOnly":true},"region":{"allOf":[{"$ref":"#/components/schemas/dedicated.server.AvailabilityEnum"}],"description":"The region code","readOnly":true},"trueAvailable":{"type":"integer","description":"Real stock","readOnly":true}}},"dedicated.cluster.ClusterWithIAM":{"type":"object","description":"A structure describing the dedicated cluster","properties":{"iam":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata"}],"description":"IAM resource metadata","nullable":true,"readOnly":true},"id":{"type":"string","description":"Cluster's ID","format":"uuid","readOnly":true},"model":{"type":"string","description":"Model of the cluster","readOnly":true},"nodes":{"type":"array","description":"Cluster's nodes","items":{"$ref":"#/components/schemas/dedicated.cluster.Node"},"readOnly":true},"region":{"type":"string","description":"Region where cluster is located","readOnly":true},"status":{"type":"string","description":"Cluster status","readOnly":true}}},"dedicated.cluster.Node":{"type":"object","description":"A structure describing the nodes of the cluster","properties":{"id":{"type":"string","description":"ID of the node","format":"uuid","readOnly":true},"serverId":{"type":"integer","description":"ID of the server","readOnly":true},"serverName":{"type":"string","description":"Name of the server","readOnly":true}}},"dedicated.cluster.RegionAvailability":{"type":"object","description":"A structure describing the availabilities of dedicated server","properties":{"availability":{"allOf":[{"$ref":"#/components/schemas/dedicated.server.AvailabilityEnum"}],"description":"The availability","readOnly":true},"region":{"allOf":[{"$ref":"#/components/schemas/dedicated.server.AvailabilityRegionalizationEnum"}],"description":"The region","readOnly":true}}},"dedicated.cluster.availability":{"type":"object","description":"Cluster availability","properties":{"clusterPlanCode":{"type":"string","description":"Plan code in which the hardware is involved","readOnly":true},"fqn":{"type":"string","description":"Fully qualified name and unique name of the hardware","readOnly":true},"memory":{"type":"string","description":"Name of the memory hardware part","readOnly":true},"planCode":{"type":"string","description":"Plan code in which the hardware is involved","readOnly":true},"regions":{"type":"array","description":"A structure describing the hardware availability for each datacenter","items":{"$ref":"#/components/schemas/dedicated.cluster.RegionAvailability"},"readOnly":true},"server":{"type":"string","description":"Name of the base hardware","readOnly":true},"storage":{"type":"string","description":"Name of the storage hardware part","readOnly":true},"systemStorage":{"type":"string","description":"Name of the system storage hardware part","nullable":true,"readOnly":true}}},"dedicated.server.AvailabilityEnum":{"type":"string","description":"The availability","enum":["120H","1440H","1H-high","1H-low","2160H","240H","24H","480H","720H","72H","comingSoon","unavailable","unknown"]},"dedicated.server.AvailabilityRegionalizationEnum":{"type":"string","description":"The region","enum":["ap-south-1","ap-southeast-sgp","ap-southeast-syd","ca-east-1","ca-east-bhs","eu-central-waw","eu-west-eri","eu-west-gra","eu-west-lim","eu-west-par","eu-west-rbx","eu-west-sbg","us-east-vin","us-west-hil"]},"duration":{"type":"string","description":"Duration (e.g., P1Y2M3DT4H6M9S)","example":"P1Y2M3DT4H6M9S"},"email":{"type":"string","description":"Email address (e.g., api@ml.ovh.net)","format":"email","example":"api@ml.ovh.net"},"iam.ResourceMetadata":{"type":"object","description":"IAM resource metadata embedded in services models","properties":{"displayName":{"type":"string","description":"Resource display name","nullable":true,"readOnly":true},"id":{"type":"string","description":"Unique identifier of the resource","format":"uuid","readOnly":true},"state":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata.StateEnum"}],"description":"Resource state","nullable":true,"readOnly":true},"tags":{"type":"object","description":"Resource tags. Tags that were internally computed are prefixed with ovh:","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"urn":{"type":"string","description":"Unique resource name used in policies","readOnly":true}}},"iam.ResourceMetadata.StateEnum":{"type":"string","description":"Resource state","enum":["EXPIRED","IN_CREATION","OK","SUSPENDED"]},"iam.resource.TagFilter":{"type":"object","description":"Resource tag filter","properties":{"operator":{"allOf":[{"$ref":"#/components/schemas/iam.resource.TagFilter.OperatorEnum"}],"description":"Operator to use in order to filter on the value (defaults to 'EQ')","nullable":true,"readOnly":true},"value":{"type":"string","description":"Value to use in order to filter tags","readOnly":true}}},"iam.resource.TagFilter.OperatorEnum":{"type":"string","description":"Operator that can be used in order to filter resources tags","enum":["EQ","EXISTS","ILIKE","LIKE","NEQ","NEXISTS"]},"internationalPhoneNumber":{"type":"string","description":"International phone number","format":"phone-number"},"ip":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipBlock":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","format":"ip-block","example":"192.0.2.0/24"},"ipInterface":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4Block":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","format":"ipv4-block","example":"192.0.2.0/24"},"ipv6":{"type":"string","description":"IPv6 address (e.g., 2001:41d0:1:1994::1)","format":"ipv6","example":"2001:41d0:1:1994::1"},"ipv6Block":{"type":"string","description":"IPv6 CIDR notation (e.g., 2001:41d0::/128)","format":"ipv6-block","example":"2001:41d0::/128"},"macAddress":{"type":"string","description":"MAC address (e.g., 00:00:5e:00:53:01)","format":"mac-address","example":"00:00:5e:00:53:01"},"phoneNumber":{"type":"string","description":"Phone number","format":"phone-number"},"service.RenewType":{"type":"object","description":"Map a possible renew for a specific service","properties":{"automatic":{"type":"boolean","description":"The service is automatically renewed"},"deleteAtExpiration":{"type":"boolean","description":"The service will be deleted at expiration"},"forced":{"type":"boolean","description":"The service forced to be renewed"},"manualPayment":{"type":"boolean","description":"The service needs to be manually renewed and paid","nullable":true},"period":{"type":"integer","description":"period of renew in month","nullable":true}}},"service.RenewalTypeEnum":{"type":"string","description":"Detailed renewal type of a service","enum":["automaticForcedProduct","automaticV2012","automaticV2014","automaticV2016","automaticV2024","manual","oneShot","option"]},"service.StateEnum":{"type":"string","enum":["autorenewInProgress","expired","inCreation","ok","pendingDebt","unPaid"]},"service.TerminationFutureUseEnum":{"type":"string","description":"All future uses you can provide for a service termination","enum":["NOT_REPLACING_SERVICE","OTHER","SUBSCRIBE_AN_OTHER_SERVICE","SUBSCRIBE_OTHER_KIND_OF_SERVICE_WITH_COMPETITOR","SUBSCRIBE_SIMILAR_SERVICE_WITH_COMPETITOR"]},"service.TerminationReasonEnum":{"type":"string","description":"All reasons you can provide for a service termination","enum":["FEATURES_DONT_SUIT_ME","LACK_OF_PERFORMANCES","MIGRATED_TO_ANOTHER_OVH_PRODUCT","MIGRATED_TO_COMPETITOR","NOT_ENOUGH_RECOGNITION","NOT_NEEDED_ANYMORE","NOT_RELIABLE","NO_ANSWER","OTHER","PRODUCT_DIMENSION_DONT_SUIT_ME","PRODUCT_TOOLS_DONT_SUIT_ME","TOO_EXPENSIVE","TOO_HARD_TO_USE","UNSATIFIED_BY_CUSTOMER_SUPPORT"]},"services.Service":{"type":"object","description":"Details about a Service","properties":{"canDeleteAtExpiration":{"type":"boolean","description":"Indicates that the service can be set up to be deleted at expiration","readOnly":true},"contactAdmin":{"type":"string","readOnly":true},"contactBilling":{"type":"string","readOnly":true},"contactTech":{"type":"string","readOnly":true},"creation":{"type":"string","format":"date","readOnly":true},"domain":{"type":"string","readOnly":true},"engagedUpTo":{"type":"string","nullable":true,"format":"date","readOnly":true},"expiration":{"type":"string","format":"date","readOnly":true},"possibleRenewPeriod":{"type":"array","description":"All the possible renew period of your service in month","nullable":true,"items":{"type":"integer"},"readOnly":true},"renew":{"allOf":[{"$ref":"#/components/schemas/service.RenewType"}],"description":"Way of handling the renew","nullable":true},"renewalType":{"allOf":[{"$ref":"#/components/schemas/service.RenewalTypeEnum"}],"readOnly":true},"serviceId":{"type":"integer","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/service.StateEnum"}],"readOnly":true}}},"services.changeContact":{"type":"object","description":"Service change contact payload","properties":{"contactAdmin":{"type":"string","description":"The contact to set as admin contact"},"contactBilling":{"type":"string","description":"The contact to set as billing contact"},"contactTech":{"type":"string","description":"The contact to set as tech contact"}}},"services.confirmTermination":{"type":"object","description":"Service confirm termination payload","properties":{"commentary":{"type":"string","description":"Commentary about your termination request"},"commentaryFutureUse":{"type":"string","description":"Commentary about your future use"},"commentaryReason":{"type":"string","description":"Commentary about your reason for termination request"},"futureUse":{"allOf":[{"$ref":"#/components/schemas/service.TerminationFutureUseEnum"}],"description":"All future uses you can provide for a service termination"},"reason":{"allOf":[{"$ref":"#/components/schemas/service.TerminationReasonEnum"}],"description":"All reasons you can provide for a service termination"},"token":{"type":"string","description":"The termination token sent by email to the admin contact"}},"required":["token"]},"time":{"type":"string","description":"Time (e.g., 15:04:05)","format":"time","example":"15:04:05"}},"securitySchemes":{"oAuth2AuthCode":{"type":"oauth2","description":"Oauth2","x-client-id":"1bb9c7df371741c0","x-client-secret":"a5b4de870aca620d10fbf63cd18d205b","flows":{"authorizationCode":{"authorizationUrl":"https://auth.eu.ovhcloud.com/oauth2/authorize","tokenUrl":"https://auth.eu.ovhcloud.com/oauth2/token","scopes":{"account/all":"Manage your account","all":"Manage your whole account and all your services","services/all":"Manage your services lifecycle and billing"}}}}}},"paths":{"/dedicated/cluster":{"get":{"summary":"List dedicated clusters","description":"Returns the IDs of the dedicated clusters of the account.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"iamTags","description":"Filter resources on IAM tags","schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/iam.resource.TagFilter"}}}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/dedicated/cluster\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/dedicated/cluster\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:get","required":true}],"x-expanded-response":"DedicatedClusterClusterWithIAM"}},"/dedicated/cluster/availabilities":{"get":{"summary":"List cluster configuration availability","description":"Returns the cluster configurations that match the requested quantity, hardware parts and plan code, with their availability for each region. This call does not require authentication.","deprecated":true,"x-deprecation-date":"2025-09-23T00:00:00Z","x-deletion-date":"2025-12-02T00:00:00Z","parameters":[{"in":"query","name":"memory","description":"The name of the memory hardware part","schema":{"type":"string"}},{"in":"query","name":"planCode","description":"The plan code in which the hardware is involved","schema":{"type":"string"}},{"in":"query","name":"quantity","description":"Cluster quantity","required":true,"schema":{"type":"integer"}},{"in":"query","name":"server","description":"The name of the base hardware","schema":{"type":"string"}},{"in":"query","name":"storage","description":"The name of the storage hardware part","schema":{"type":"string"}},{"in":"query","name":"systemStorage","description":"The name of the system storage hardware part","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/dedicated.cluster.availability"}}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"red","label":"Deprecated, will be removed"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/dedicated/cluster/availabilities\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/dedicated/cluster/availabilities\");\n\nprint_r($result);\n?>"}]}},"/dedicated/cluster/availabilities/raw":{"get":{"summary":"List the raw cluster hardware availability","description":"Returns the raw availability of cluster hardware: for each region, the real stock, the real stock including parent references, and the last rule applied. Filter by quantity, hardware parts, plan code and regions, and set excludeRegions to return every region except those listed.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"excludeRegions","description":"If true, all regions are returned except those listed in regions parameter","schema":{"type":"boolean"}},{"in":"query","name":"memory","description":"The name of the memory hardware part","schema":{"type":"string"}},{"in":"query","name":"planCode","description":"The plan code in which the hardware is involved","schema":{"type":"string"}},{"in":"query","name":"quantity","description":"Node quantity","required":true,"schema":{"type":"integer"}},{"in":"query","name":"regions","description":"The names of regions separated by commas","schema":{"$ref":"#/components/schemas/dedicated.server.AvailabilityRegionalizationEnum"}},{"in":"query","name":"server","description":"The name of the base hardware","schema":{"type":"string"}},{"in":"query","name":"storage","description":"The name of the storage hardware part","schema":{"type":"string"}},{"in":"query","name":"systemStorage","description":"The name of the system storage hardware part","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/dedicated.cluster.AvailabilitiesRaw"}}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/dedicated/cluster/availabilities/raw\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/dedicated/cluster/availabilities/raw\");\n\nprint_r($result);\n?>"}]}},"/dedicated/cluster/{serviceName}":{"get":{"summary":"Get a dedicated cluster","description":"Returns the ID, model, region and status of a dedicated cluster, and its nodes.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dedicated.cluster.ClusterWithIAM"}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/dedicated/cluster/{serviceName}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/dedicated/cluster/{serviceName}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:get","required":true}]}},"/dedicated/cluster/{serviceName}/changeContact":{"post":{"summary":"Launch a contact change procedure","description":"Starts a contact change procedure for the admin, billing or tech contact of the cluster. Returns the IDs of the contact change tasks.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.changeContact"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: services.changeContact\nresult = client.post(\"/dedicated/cluster/{serviceName}/changeContact\",\n\tcontactAdmin = None, # The contact to set as admin contact (type: string)\n\tcontactBilling = None, # The contact to set as billing contact (type: string)\n\tcontactTech = None, # The contact to set as tech contact (type: string)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: services.changeContact\n$result = $ovh->post(\"/dedicated/cluster/{serviceName}/changeContact\", array(\n\tcontactAdmin => null, // The contact to set as admin contact (type: string)\n\tcontactBilling => null, // The contact to set as billing contact (type: string)\n\tcontactTech => null, // The contact to set as tech contact (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:changeContact","required":true}]}},"/dedicated/cluster/{serviceName}/confirmTermination":{"post":{"summary":"Confirm service termination","description":"Confirms the termination of the cluster with the token sent by email to the admin contact.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.confirmTermination"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"string"}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: services.confirmTermination\nresult = client.post(\"/dedicated/cluster/{serviceName}/confirmTermination\",\n\tcommentary = None, # Commentary about your termination request (type: string)\n\tcommentaryFutureUse = None, # Commentary about your future use (type: string)\n\tcommentaryReason = None, # Commentary about your reason for termination request (type: string)\n\tfutureUse = None, # All future uses you can provide for a service termination (type: service.TerminationFutureUseEnum)\n\treason = None, # All reasons you can provide for a service termination (type: service.TerminationReasonEnum)\n\ttoken = None, # The termination token sent by email to the admin contact (type: string)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: services.confirmTermination\n$result = $ovh->post(\"/dedicated/cluster/{serviceName}/confirmTermination\", array(\n\tcommentary => null, // Commentary about your termination request (type: string)\n\tcommentaryFutureUse => null, // Commentary about your future use (type: string)\n\tcommentaryReason => null, // Commentary about your reason for termination request (type: string)\n\tfutureUse => null, // All future uses you can provide for a service termination (type: service.TerminationFutureUseEnum)\n\treason => null, // All reasons you can provide for a service termination (type: service.TerminationReasonEnum)\n\ttoken => null, // The termination token sent by email to the admin contact (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:confirmTermination","required":true}]}},"/dedicated/cluster/{serviceName}/serviceInfos":{"get":{"summary":"Get service information","description":"Returns the billing information of the cluster, such as creation and expiration dates, contacts and renewal settings.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.Service"}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/dedicated/cluster/{serviceName}/serviceInfos\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/dedicated/cluster/{serviceName}/serviceInfos\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:serviceInfos/get","required":true}]},"put":{"summary":"Update service information","description":"Updates the renewal settings of the cluster.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/services.Service"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: services.Service\nresult = client.put(\"/dedicated/cluster/{serviceName}/serviceInfos\",\n\trenew = None, # Way of handling the renew (type: service.RenewType, nullable)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: services.Service\n$result = $ovh->put(\"/dedicated/cluster/{serviceName}/serviceInfos\", array(\n\trenew => null, // Way of handling the renew (type: service.RenewType, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:serviceInfos/edit","required":true}]}},"/dedicated/cluster/{serviceName}/terminate":{"post":{"summary":"Ask for the termination of your service","description":"Starts the termination of the cluster and sends a confirmation token by email to the admin contact. Confirm it with the termination confirmation.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"string"}}}}},"x-developer-hub-navigation":[["Bare Metal Cloud","Dedicated Servers","Cluster"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.post(\"/dedicated/cluster/{serviceName}/terminate\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->post(\"/dedicated/cluster/{serviceName}/terminate\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"clusterDelivery:apiovh:terminate","required":true}]}}}}
