Update a Distribution

Prerequisite: Only contract administrators, owners, and users with accessAndManageCdn privilege can create and manage CDN distributions via the API. You can also set user privileges in the DCD. For more information, see Set User Privileges.

To update an existing CDN distribution, perform a PUT request with the distributionID of the CDN. The CDN distribution for a given distributionID is updated with the provided distribution details.

Note: If a CDN distribution for a given distributionID does not exist, a distribution is created instead.

Endpoint

Use the following endpoint to create or update a CDN distribution: https://cdn.de-fra.ionos.com/distributions/{distributionId}.

Request

Note: The following request contains a sample distributionId. Replace them with the distributionId value whose information you want to update.

curl --X \  
--request PUT 'https://cdn.de-fra.ionos.com/distributions/9ba15778-16c4-543c-8775-e52acf4853f5' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
{
  "id": "9ba15778-16c4-543c-8775-e52acf4853f5",
  "metadata": {},
  "properties": {
    "domain": "example.com",
    "certificateId": "5a029f4a-72e5-11ec-90d6-0242ac120003",
    "routingRules": [
      {
        "scheme": "http/https",
        "prefix": "/api",
        "upstream": {
          "host": "server.example.com",
          "caching": true,
          "waf": true,
          "geoRestrictions": {
            "blockList": [
              "CN",
              "RU"
            ]
          },
          "rateLimitClass": "none"
        }
      }
    ]
  }
}

Below is the list of mandatory path parameter:

Body ParametersTypeDescriptionExample

distributionId

string

The ID (UUID) of the CDN distribution.

9ba15778-16c4-543c-8775-e52acf4853f5

Response

200 Successful operation

Following is an example of when a CDN distribution is successfully created.

{
  "id": "9ba15778-16c4-543c-8775-e52acf4853f5",
  "type": "distribution",
  "href": "/distributions/9ba15778-16c4-543c-8775-e52acf4853f5",
  "metadata": {
    "createdDate": "2020-12-10T13:37:50+01:00",
    "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedDate": "2020-12-11T13:37:50+01:00",
    "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
    "publicEndpointIpv4": "1.2.3.4",
    "publicEndpointIpv6": "2001:db8::ff00:42:8329",
    "state": "AVAILABLE",
    "message": "In progress."
  },
  "properties": {
    "domain": "example.com",
    "certificateId": "5a029f4a-72e5-11ec-90d6-0242ac120003",
    "routingRules": [
      {
        "scheme": "http/https",
        "prefix": "/api",
        "upstream": {
          "host": "server.example.com",
          "caching": true,
          "waf": true,
          "geoRestrictions": {
            "blockList": [
              "CN",
              "RU"
            ]
          },
          "rateLimitClass": "none"
        }
      }
    ]
  }
}

Result: A CDN distribution is successfully updated or created.

Last updated