arrow-left

All pages
1 of 1

Loading...

Update a Distribution

circle-info

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.

circle-info

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

hashtag
Endpoint

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

hashtag
Request

circle-info

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

Below is the list of mandatory path parameter:

Body Parameters
Type
Description
Example

Below is the list of mandatory body parameters:

hashtag
Response

200 Successful operation

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

circle-check

Result: A CDN distribution is successfully updated or created.

Body Parameters
Type
Description
Example

id

string

The ID (UUID) of the CDN distribution.

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

domain

string

The domain name for the CDN distribution.

example.com

scheme

string

Choose whether to allow http, https, or http/https protocol.

http/https

To make authenticated requests to the API, the following fields are mandatory in the request header:

Header Parameters
Required
Type
Description

Authorization

yes

string

The Bearer token enables requests to authenticate using a JSON Web Token (JWT). From the DCD, .

Content-Type

yes

string

distributionId

string

The ID (UUID) of the CDN distribution.

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

curl --location \  
--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",
          "sniMode": "distribution"
        }
      }
    ]
  }
}
{
  "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",
          "sniMode": "origin"
        }
      }
    ]
  }
}

prefix

string

A prefix to match the beginning segment of the URL path and apply routing rule.

/api

host

string

An upstream host name that handles requests if data not cached in the CDN edge server.

server.example.com

caching

boolean

If enabled, CDN caches the data from the upstream host.

true

waf

boolean

If enabled, protects the upstream host.

true

rateLimitClass

string

Limits the number of incoming requests per IP.

R10

Set this to application/json.

Generate authentication token