{"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 !"},"coreTypes.CountryEnum":{"type":"string","description":"ISO country codes","enum":["ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bl","bm","bn","bo","bq","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cw","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fc","fd","fi","fj","fk","fm","fo","fr","fx","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","qc","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","we","wf","ws","ye","yt","yu","za","zm","zw"]},"coreTypes.RegionCodenameEnum":{"type":"string","description":"Region names","enum":["af-central-lz-abj","af-north-lz-rba","ap-south-lz-akl","ap-south-lz-blr","ap-south-lz-icd","ap-south-mum","ap-southeast-sgp","ap-southeast-syd","ca-east-bhs","ca-east-tor","eu-central-lz-buh","eu-central-lz-sof","eu-central-waw","eu-east-lz-prg","eu-north-lz-cph","eu-north-lz-hel","eu-north-lz-osl","eu-north-lz-sto","eu-south-lz-lis","eu-south-lz-mad","eu-south-lz-mil","eu-south-mil","eu-west-eri","eu-west-gra","eu-west-lim","eu-west-lz-ams","eu-west-lz-bru","eu-west-lz-dln","eu-west-lz-lux","eu-west-lz-mnc","eu-west-lz-mrs","eu-west-lz-vie","eu-west-lz-zrh","eu-west-par","eu-west-rbx","eu-west-sbg","me-south-lz-dxb","sa-central-lz-mex","sa-east-lz-sao","sa-west-lz-bue","sa-west-lz-scl","us-central-lz-slc","us-central-lz-stl","us-east-lz-atl","us-east-lz-bos","us-east-lz-chi","us-east-lz-dal","us-east-lz-mia","us-east-lz-nyc","us-east-vin","us-west-hil","us-west-lz-den","us-west-lz-lax","us-west-lz-pao","us-west-lz-phx","us-west-lz-sea"]},"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"},"ip.Destination":{"type":"object","description":"A structure given service and its nexthops as a destination for failover ips","properties":{"nexthop":{"type":"array","description":"Nexthops available on this service","nullable":true,"items":{"type":"string"}},"service":{"type":"string","description":"Service destination"}}},"ip.Destinations":{"type":"object","description":"A structure given all services allowed as a destination for this ip","properties":{"cloudProject":{"type":"array","description":"list of public cloud projects","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"dedicatedCloud":{"type":"array","description":"list of dedicated clouds","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"dedicatedServer":{"type":"array","description":"list of dedicated servers","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"hostingReseller":{"type":"array","description":"list of hosting reseller services","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"ipLoadbalancing":{"type":"array","description":"list of load balancing services","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"sncCloudPlatform":{"type":"array","description":"list of SNC Cloud Platform projects","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"vmwareCloudDirector":{"type":"array","description":"list of VMware Cloud Director organization services","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"vps":{"type":"array","description":"list of vps","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}},"vrackServicesBgp":{"type":"array","description":"list of BGP vrack services services","nullable":true,"items":{"$ref":"#/components/schemas/ip.Destination"}}}},"ip.Ip":{"type":"object","description":"Your IP","properties":{"bringYourOwnIp":{"type":"boolean","description":"Is this IP part of the Bring your own IP program (alpha)","readOnly":true},"campus":{"type":"string","description":"Where is the IP used/usable (alpha)","nullable":true,"readOnly":true},"canBeTerminated":{"type":"boolean","description":"Is this IP can be terminated","readOnly":true},"country":{"allOf":[{"$ref":"#/components/schemas/coreTypes.CountryEnum"}],"description":"IP country","nullable":true,"readOnly":true},"description":{"type":"string","description":"Custom description on your ip","nullable":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"readOnly":true},"isAdditionalIp":{"type":"boolean","description":"Is this IP an Additional IP (alpha)","readOnly":true},"organisationId":{"type":"string","description":"IP block organisation Id","nullable":true,"readOnly":true},"regions":{"type":"array","description":"Where is the IP used/usable, in the form of region codenames (alpha)","nullable":true,"items":{"$ref":"#/components/schemas/coreTypes.RegionCodenameEnum"},"readOnly":true},"rir":{"type":"string","description":"Regional Internet Registry of the IP (alpha)","nullable":true,"readOnly":true},"routedTo":{"allOf":[{"$ref":"#/components/schemas/ip.RoutedTo"}],"description":"Routage information","nullable":true,"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/ip.IpTypeEnum"}],"readOnly":true},"version":{"allOf":[{"$ref":"#/components/schemas/ip.IpVersionEnum"}],"description":"Version of the IP (alpha)","readOnly":true}}},"ip.IpTask":{"type":"object","description":"IP tasks","properties":{"comment":{"type":"string","description":"Details of this task","nullable":true,"readOnly":true},"destination":{"allOf":[{"$ref":"#/components/schemas/ip.RoutedTo"}],"description":"Destination for moveFloatingIp tasks","nullable":true,"readOnly":true},"doneDate":{"type":"string","description":"Completion date","nullable":true,"format":"date-time","readOnly":true},"function":{"allOf":[{"$ref":"#/components/schemas/ip.TaskFunctionEnum"}],"description":"Function name","readOnly":true},"lastUpdate":{"type":"string","description":"last update","nullable":true,"format":"date-time","readOnly":true},"startDate":{"type":"string","description":"Task Creation date","format":"date-time","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/ip.TaskStatusEnum"}],"description":"Task status","readOnly":true},"taskId":{"type":"integer","description":"the id of the task","readOnly":true}}},"ip.IpTypeEnum":{"type":"string","description":"Possible values for ip type","enum":["cdn","cloud","dedicated","failover","hosted_ssl","housing","loadBalancing","mail","overthebox","pcc","pci","private","vpn","vps","vrack","xdsl"]},"ip.IpVersionEnum":{"type":"integer","description":"Possible values for IP version","enum":[4,6]},"ip.IpWithIAM":{"type":"object","description":"Your IP","properties":{"bringYourOwnIp":{"type":"boolean","description":"Is this IP part of the Bring your own IP program (alpha)","readOnly":true},"campus":{"type":"string","description":"Where is the IP used/usable (alpha)","nullable":true,"readOnly":true},"canBeTerminated":{"type":"boolean","description":"Is this IP can be terminated","readOnly":true},"country":{"allOf":[{"$ref":"#/components/schemas/coreTypes.CountryEnum"}],"description":"IP country","nullable":true,"readOnly":true},"description":{"type":"string","description":"Custom description on your ip","nullable":true},"iam":{"allOf":[{"$ref":"#/components/schemas/iam.ResourceMetadata"}],"description":"IAM resource metadata","nullable":true,"readOnly":true},"ip":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"readOnly":true},"isAdditionalIp":{"type":"boolean","description":"Is this IP an Additional IP (alpha)","readOnly":true},"organisationId":{"type":"string","description":"IP block organisation Id","nullable":true,"readOnly":true},"regions":{"type":"array","description":"Where is the IP used/usable, in the form of region codenames (alpha)","nullable":true,"items":{"$ref":"#/components/schemas/coreTypes.RegionCodenameEnum"},"readOnly":true},"rir":{"type":"string","description":"Regional Internet Registry of the IP (alpha)","nullable":true,"readOnly":true},"routedTo":{"allOf":[{"$ref":"#/components/schemas/ip.RoutedTo"}],"description":"Routage information","nullable":true,"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/ip.IpTypeEnum"}],"readOnly":true},"version":{"allOf":[{"$ref":"#/components/schemas/ip.IpVersionEnum"}],"description":"Version of the IP (alpha)","readOnly":true}}},"ip.RoutedTo":{"type":"object","description":"Information about routing","properties":{"serviceName":{"type":"string","description":"Service where ip is routed to","nullable":true}}},"ip.TaskFunctionEnum":{"type":"string","description":"different task operation","enum":["arinBlockReassign","changeRipeOrg","checkAndReleaseIp","genericMoveFloatingIp","supernetByoipFailoverPartitioning"]},"ip.TaskStatusEnum":{"type":"string","description":"different task status","enum":["cancelled","customerError","doing","done","init","ovhError","todo"]},"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"},"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":{"/ip":{"get":{"summary":"List IPs","description":"List IPs. Returns your IP blocks, filterable by routed service, type, version, campus, Additional IP or IAM tags.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"query","name":"campus","description":"Filter the value of campus property (ilike) (alpha)","schema":{"type":"string"}},{"in":"query","name":"description","description":"Filter the value of description property (like)","schema":{"type":"string"}},{"in":"query","name":"iamTags","description":"Filter resources on IAM tags","schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/iam.resource.TagFilter"}}}},{"in":"query","name":"ip","description":"Filter the value of ip property (contains or equals)","schema":{"$ref":"#/components/schemas/ipBlock"}},{"in":"query","name":"isAdditionalIp","description":"Filter the value of isAdditionalIp property (=) (alpha)","schema":{"type":"boolean"}},{"in":"query","name":"routedTo.serviceName","description":"Filter the value of routedTo.serviceName property (like)","schema":{"type":"string"}},{"in":"query","name":"type","description":"Filter the value of type property (=)","schema":{"$ref":"#/components/schemas/ip.IpTypeEnum"}},{"in":"query","name":"version","description":"Filter the value of version property (=) (alpha)","schema":{"$ref":"#/components/schemas/ip.IpVersionEnum"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ipBlock"}}}}}},"x-developer-hub-navigation":[["Network","IP addresses","Configuration@@@10"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/ip\")\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(\"/ip\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"ip:apiovh:get","required":true}],"x-expanded-response":"IpIp"}},"/ip/{ip}":{"get":{"summary":"Get an IP","description":"Get an IP. Returns the block's type, routed service, regions, RIR, organization, and BYOIP / Additional IP flags.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"$ref":"#/components/schemas/ipBlock"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip.IpWithIAM"}}}}},"x-developer-hub-navigation":[["Network","IP addresses","Configuration@@@45"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/ip/{ip}\")\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(\"/ip/{ip}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"ip:apiovh:get","required":true}]},"put":{"summary":"Update the IP description","description":"Update the IP description. Changes the block's free-text description, its only editable field. List IPs can filter on this description.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"$ref":"#/components/schemas/ipBlock"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip.Ip"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Network","IP addresses","Configuration@@@70"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: ip.Ip\nresult = client.put(\"/ip/{ip}\",\n\tdescription = None, # Custom description on your ip (type: string, nullable)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: ip.Ip\n$result = $ovh->put(\"/ip/{ip}\", array(\n\tdescription => null, // Custom description on your ip (type: string, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"ip:apiovh:edit","required":true}]}},"/ip/{ip}/move":{"get":{"summary":"List move destinations","description":"List move destinations. Returns, per service type, the services this IP can move to and their next hops.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"$ref":"#/components/schemas/ipBlock"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip.Destinations"}}}}},"x-developer-hub-navigation":[["Network","IP addresses","Configuration@@@40"]],"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(\"/ip/{ip}/move\")\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(\"/ip/{ip}/move\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"ip:apiovh:move/get","required":true},{"name":"dedicatedServer:apiovh:ip/additionalIp/move","description":"Needed on a Dedicated Server for it to be available as a move destination","required":false},{"name":"pccVMware:apiovh:ip/additionalIp/move","description":"Needed on a PCC VMware for it to be available as a move destination","required":false},{"name":"publicCloudProject:apiovh:ip/additionalIp/move","description":"Needed on a Cloud Project for it to be available as a move destination","required":false},{"name":"vps:apiovh:ip/additionalIp/move","description":"Needed on a Virtual Server for it to be available as a move destination","required":false},{"name":"loadbalancer:apiovh:ip/additionalIp/move","description":"Needed on an IP Load Balancer for it to be available as a move destination","required":false},{"name":"vrack:apiovh:ip/additionalIp/move","description":"Needed on a vRack for it to be available as a move destination","required":false},{"name":"vmwareCloudDirector:apiovh:organization/ip/additionalIp/move","description":"Needed on a VMware Cloud Director organization for it to be available as a move destination","required":false},{"name":"vrackServices:apiovh:bgp/ip/additionalIp/move","description":"Needed on a BGP vrack services for it to be available as a move destination","required":false}]},"post":{"summary":"Move an IP","description":"Move an IP. Routes the IP to another service of your account, with an optional next hop (async task).","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"$ref":"#/components/schemas/ipBlock"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nexthop":{"type":"string","description":"Nexthop of destination service"},"to":{"type":"string","description":"Service destination"}},"required":["to"]}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip.IpTask"}}}}},"x-developer-hub-navigation":[["Network","IP addresses","Configuration@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.post(\"/ip/{ip}/move\",\n\tnexthop = None, # Nexthop of destination service (type: string, nullable)\n\tto = None, # Service destination (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$result = $ovh->post(\"/ip/{ip}/move\", array(\n\tnexthop => null, // Nexthop of destination service (type: string, nullable)\n\tto => null, // Service destination (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"ip:apiovh:move","required":true},{"name":"dedicatedServer:apiovh:ip/additionalIp/move","description":"Needed on a Dedicated Server for it to be available as a move destination","required":false},{"name":"pccVMware:apiovh:ip/additionalIp/move","description":"Needed on a PCC VMware for it to be available as a move destination","required":false},{"name":"publicCloudProject:apiovh:ip/additionalIp/move","description":"Needed on a Cloud Project for it to be available as a move destination","required":false},{"name":"vps:apiovh:ip/additionalIp/move","description":"Needed on a Virtual Server for it to be available as a move destination","required":false},{"name":"loadbalancer:apiovh:ip/additionalIp/move","description":"Needed on an IP Load Balancer for it to be available as a move destination","required":false},{"name":"vrack:apiovh:ip/additionalIp/move","description":"Needed on a vRack for it to be available as a move destination","required":false},{"name":"vmwareCloudDirector:apiovh:organization/ip/additionalIp/move","description":"Needed on a VMware Cloud Director organization for it to be available as a move destination","required":false},{"name":"vrackServices:apiovh:bgp/ip/additionalIp/move","description":"Needed on a BGP vrack services for it to be available as a move destination","required":false}]}},"/ip/{ip}/park":{"post":{"summary":"Park an IP","description":"Park an IP. Detaches the IP from its service and keeps it on your account, unrouted. Returns the task that applies the change.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"$ref":"#/components/schemas/ipBlock"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip.IpTask"}}}}},"x-developer-hub-navigation":[["Network","IP addresses","Configuration@@@60"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.post(\"/ip/{ip}/park\")\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(\"/ip/{ip}/park\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"ip:apiovh:park","required":true}]}}}}
