{"openapi":"3.0.0","info":{"title":"OVHcloud API specification","description":"Specification for OVHcloud API","version":"1.0","contact":{"name":"OVH","email":"api@ml.ovh.net"}},"servers":[{"url":"https://api.eu.ovhcloud.com/1.0"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"duration":{"type":"string","description":"Duration (e.g., P1Y2M3DT4H6M9S)","example":"P1Y2M3DT4H6M9S"},"email":{"type":"string","description":"Email address (e.g., api@ml.ovh.net)","format":"email","example":"api@ml.ovh.net"},"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"},"time":{"type":"string","description":"Time (e.g., 15:04:05)","format":"time","example":"15:04:05"},"xdsl.Modem":{"type":"object","description":"Modem","properties":{"acsBackend":{"allOf":[{"$ref":"#/components/schemas/xdsl.xdslModemConfig.ACSBackendEnum"}],"description":"ACS backend used by the modem"},"acsVersion":{"type":"string","description":"Version of ACS API used","nullable":true,"readOnly":true},"brandName":{"type":"string","readOnly":true},"capabilities":{"allOf":[{"$ref":"#/components/schemas/xdsl.ModemCapabilities"}],"readOnly":true},"dmzIP":{"allOf":[{"$ref":"#/components/schemas/ip"}],"description":"IP Address of the DMZ (To modify or delete the DMZ IP on the modem, a re-configuration of your modem has to be made, your configuration will be maintained, but you will lose your connection a few minutes)","nullable":true},"easyFirewallLevel":{"allOf":[{"$ref":"#/components/schemas/xdsl.xdslModemConfig.EasyFirewallLevelEnum"}],"description":"Level of the FireWall on the modem","nullable":true,"readOnly":true},"ipv6Support":{"type":"boolean","description":"Whether or not the modem supports IPv6","readOnly":true},"isBridged":{"type":"boolean","description":"Whether or not the modem is in bridge mode. To pass from bridge mode to routed mode, a reset is necessary. If the modem is managedByOvh, the bridge state will be kept after a reset"},"lastCwmpRequestDate":{"type":"string","description":"Last time the modem made a CWMP request to the Auto Configuration Server","nullable":true,"format":"date-time","readOnly":true},"macAddress":{"type":"string","readOnly":true},"managedByOvh":{"type":"boolean","description":"Whether or not the user can configure his modem via OVH Interface (will lock telnet and local HTTP configuration page)"},"model":{"type":"string","readOnly":true},"mtuSize":{"allOf":[{"$ref":"#/components/schemas/xdsl.xdslModemConfig.MTUSizeEnum"}],"description":"Size of the Maximum Transmission Unit on the modem's interfaces","nullable":true},"serialNumber":{"type":"string","readOnly":true}}},"xdsl.ModemCapabilities":{"type":"object","description":"Describe the capabilities of the Modem","properties":{"canBeManagedByOvh":{"type":"boolean","readOnly":true},"canChangeACS":{"type":"boolean","readOnly":true},"canChangeBridgeMode":{"type":"boolean","readOnly":true},"canChangeDHCP":{"type":"boolean","readOnly":true},"canChangeDMZ":{"type":"boolean","readOnly":true},"canChangeEasyFirewallLevel":{"type":"boolean","readOnly":true},"canChangeFirmware":{"type":"boolean","readOnly":true},"canChangeLAN":{"type":"boolean","readOnly":true},"canChangeManagement":{"type":"boolean","readOnly":true},"canChangeMtu":{"type":"boolean","readOnly":true},"canChangePortMapping":{"type":"boolean","readOnly":true},"canChangeWLAN":{"type":"boolean","readOnly":true},"canChangeWifiRadio":{"type":"boolean","readOnly":true},"canChangeWifiSSID":{"type":"boolean","readOnly":true},"canReboot":{"type":"boolean","readOnly":true},"canReconfigureVoip":{"type":"boolean","readOnly":true},"canRefreshConnectedDevices":{"type":"boolean","readOnly":true},"canReset":{"type":"boolean","readOnly":true},"canUseWifiRadio":{"type":"boolean","readOnly":true}}},"xdsl.Ont":{"type":"object","description":"Access ONT information","properties":{"mac":{"type":"string","description":"MAC address of the device","readOnly":true},"serial":{"type":"string","description":"Serial of the device","readOnly":true}}},"xdsl.Task":{"type":"object","description":"Describes the current status of a task","properties":{"doneDate":{"type":"string","description":"Date when the action was completed","nullable":true,"format":"date-time","readOnly":true},"function":{"type":"string","readOnly":true},"id":{"type":"integer","readOnly":true},"isArchived":{"type":"boolean","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/xdsl.TaskStatusEnum"}],"readOnly":true},"todoDate":{"type":"string","description":"Date when the action will start","format":"date-time","readOnly":true},"updateDate":{"type":"string","format":"date-time","readOnly":true}}},"xdsl.TaskStatusEnum":{"type":"string","description":"Status of a task.","enum":["cancelled","doing","done","error","problem","todo"]},"xdsl.applyTemplateToModem.post":{"type":"object","description":"xdsl.applyTemplateToModem.post","properties":{"templateName":{"type":"string","description":"Modem Template Name"}},"required":["templateName"]},"xdsl.modem.firmware.post":{"type":"object","description":"xdsl.modem.firmware.post","properties":{"firmware":{"type":"string","description":"The firmware version to upgrade to"},"todoDate":{"type":"string","description":"Date of execution, default is now","format":"date-time"}},"required":["firmware"]},"xdsl.xdslModemConfig.ACSBackendEnum":{"type":"string","description":"ACS backend used by the modem","enum":["beta","dev","stable"]},"xdsl.xdslModemConfig.EasyFirewallLevelEnum":{"type":"string","description":"Level of the Firewall ( BlockAll will block all connections, Normal will block all incoming connections except those in PortMapping and let go all outgoing connections , Disabled will disable all the Firewall and let all incoming or outgoing connections pass through )","enum":["BlockAll","Disabled","Normal"]},"xdsl.xdslModemConfig.MTUSizeEnum":{"type":"integer","description":"Size of the Maximum Transmission Unit on the modem's interfaces","enum":[1432,1456,1492]}},"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":{"/xdsl/{serviceName}/applyTemplateToModem":{"post":{"operationId":"applyTemplateModem","summary":"Apply a modem template","description":"Applies a modem template to the modem of the access, except the parameters the template ignores. Returns the task that performs the change.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.applyTemplateToModem.post"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.Task"}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@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\n# Request body type: xdsl.applyTemplateToModem.post\nresult = client.post(\"/xdsl/{serviceName}/applyTemplateToModem\",\n\ttemplateName = None, # Modem Template Name (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: xdsl.applyTemplateToModem.post\n$result = $ovh->post(\"/xdsl/{serviceName}/applyTemplateToModem\", array(\n\ttemplateName => null, // Modem Template Name (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:applyTemplateToModem","required":true}]}},"/xdsl/{serviceName}/modem":{"get":{"summary":"Get the modem of an xDSL access","description":"Returns the modem brand, model, serial and MAC address, its bridge and DMZ settings, MTU, firewall level, IPv6 support, ACS backend and capabilities.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.Modem"}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/xdsl/{serviceName}/modem\")\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(\"/xdsl/{serviceName}/modem\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:modem/get","required":true}]},"put":{"summary":"Update the modem of an xDSL access","description":"Changes the settings that can be modified: management by OVHcloud, bridge mode, DMZ IP, MTU size and ACS backend.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.Modem"}}}},"responses":{"200":{"description":"successful operation"}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@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\n# Request body type: xdsl.Modem\nresult = client.put(\"/xdsl/{serviceName}/modem\",\n\tacsBackend = None, # ACS backend used by the modem (type: xdsl.xdslModemConfig.ACSBackendEnum)\n\tdmzIP = None, # IP Address of the DMZ (To modify or delete the DMZ IP on the modem, a re-configuration of your modem has to be made, your configuration will be maintained, but you will lose your connection a few minutes) (type: ip, nullable)\n\tisBridged = None, # Whether or not the modem is in bridge mode. To pass from bridge mode to routed mode, a reset is necessary. If the modem is managedByOvh, the bridge state will be kept after a reset (type: boolean)\n\tmanagedByOvh = None, # Whether or not the user can configure his modem via OVH Interface (will lock telnet and local HTTP configuration page) (type: boolean)\n\tmtuSize = None, # Size of the Maximum Transmission Unit on the modem's interfaces (type: xdsl.xdslModemConfig.MTUSizeEnum, 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: xdsl.Modem\n$result = $ovh->put(\"/xdsl/{serviceName}/modem\", array(\n\tacsBackend => null, // ACS backend used by the modem (type: xdsl.xdslModemConfig.ACSBackendEnum)\n\tdmzIP => null, // IP Address of the DMZ (To modify or delete the DMZ IP on the modem, a re-configuration of your modem has to be made, your configuration will be maintained, but you will lose your connection a few minutes) (type: ip, nullable)\n\tisBridged => null, // Whether or not the modem is in bridge mode. To pass from bridge mode to routed mode, a reset is necessary. If the modem is managedByOvh, the bridge state will be kept after a reset (type: boolean)\n\tmanagedByOvh => null, // Whether or not the user can configure his modem via OVH Interface (will lock telnet and local HTTP configuration page) (type: boolean)\n\tmtuSize => null, // Size of the Maximum Transmission Unit on the modem's interfaces (type: xdsl.xdslModemConfig.MTUSizeEnum, nullable)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:modem/edit","required":true}]}},"/xdsl/{serviceName}/modem/availableACSBackend":{"get":{"summary":"List the ACS backends of the modem","description":"Returns the ACS backends the modem of the access can use.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/xdsl/{serviceName}/modem/availableACSBackend\")\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(\"/xdsl/{serviceName}/modem/availableACSBackend\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:modem/availableACSBackend/get","required":true}]}},"/xdsl/{serviceName}/modem/firmware":{"get":{"operationId":"getFirmwareVersion","summary":"Get the firmware of the modem","description":"Returns the firmware version installed on the modem of the access.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"string"}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/xdsl/{serviceName}/modem/firmware\")\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(\"/xdsl/{serviceName}/modem/firmware\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:modem/firmware/get","required":true}]},"post":{"operationId":"installFrimware","summary":"Upgrade the firmware of the modem","description":"Installs a firmware version on the modem of the access, now or at the given date. Returns the task that performs the change.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.modem.firmware.post"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.Task"}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@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\n# Request body type: xdsl.modem.firmware.post\nresult = client.post(\"/xdsl/{serviceName}/modem/firmware\",\n\tfirmware = None, # The firmware version to upgrade to (type: string)\n\ttodoDate = None, # Date of execution, default is now (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: xdsl.modem.firmware.post\n$result = $ovh->post(\"/xdsl/{serviceName}/modem/firmware\", array(\n\tfirmware => null, // The firmware version to upgrade to (type: string)\n\ttodoDate => null, // Date of execution, default is now (type: string)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:modem/firmware/create","required":true}]}},"/xdsl/{serviceName}/modem/firmwareAvailable":{"get":{"summary":"List the firmware versions of the modem","description":"Returns the firmware versions that can be installed on the modem of the access.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/xdsl/{serviceName}/modem/firmwareAvailable\")\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(\"/xdsl/{serviceName}/modem/firmwareAvailable\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:modem/firmwareAvailable/get","required":true}]}},"/xdsl/{serviceName}/ont":{"get":{"summary":"Get the ONT of an xDSL access","description":"Returns the serial and MAC address of the optical network terminal of the access.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"serviceName","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/xdsl.Ont"}}}}},"x-developer-hub-navigation":[["Web Cloud","Internet","Access","Modem@@@50"]],"x-badges":[{"color":"green","label":"Stable production version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/xdsl/{serviceName}/ont\")\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(\"/xdsl/{serviceName}/ont\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"xdsl:apiovh:ont/get","required":true}]}}}}
