# OVHCloud api DDNS Setup
This system uses OVH's API v1 and [ddns-updater](https://github.com/qdm12/ddns-updater "Lightweight universal DDNS Updater program
")
## Get record ID(s) in preparation for generating the API keys
* First make sure the required `A` and `AAAA` for the (sub)domain exist in OVHCloud's manager.
* Go to OVHCloud API Console's [Auth page]( "OVHCloud API Console").
* Click `Login with OVHCloud SSO`, and follow the steps.
* Go to OVHCloud API Console's [List record]("OVHCloud API Console").
* Enter the domain name (without subdomain) under `zoneName`.
* If you want to update a subdomain enter this in `subDomain`.
* Enter `A` in the `fieldType` field
* Click the Blue `EXECUTE` button
* Note the number given in the response field
* If you also want to update IPv6 record enter `AAAA` in the ` fieldType` field
* Click the Blue `EXECUTE` button
* Note the number given in the response field

## Generating the API keys

* Go to the OVHCloud [API Key generator]("OVHCloud Auth")
* Enter a Application name (example: "mydomain-subdomain-DDNS").
* Enter a Application Description (example: "subdomain.mydomain.com  DNS Updater").
* Set Validity to `Unlimited`
* Add the following rights:
```
GET: /domain/zone/<DomainName>/record
PUT: /domain/zone/<DomainName>/record/<IPv4 Record ID>
PUT: /domain/zone/<DomainName>/record/<IPv6 Record ID>
POST: /domain/zone/<DomainName>/refresh
```

## ddns-updater example config
```
{
    "settings": [
        {
        "provider": "ovh",
        "mode": "api",
        "domain": "quartz.nxdi.nl",
        "api_endpoint": "ovh-eu",
        "app_key": "<app_key>",
        "app_secret": "<app_secret>",
        "consumer_key": "<consumer_key>",
        "ip_version": "ipv4"
        },
         {
        "provider": "ovh",
        "mode": "api",
        "domain": "quartz.nxdi.nl",
        "api_endpoint": "ovh-eu",
        "app_key": "<app_key>",
        "app_secret": "<app_secret>",
        "consumer_key": "<consumer_key>",
        "ip_version": "ipv6",
        "ipv6_suffix": ""
        }
    ]
}


```