For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create 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 create a CDN distribution, perform a POST request.

Endpoint

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

Request

curl --location \
--request POST 'https://cdn.de-fra.ionos.com/distributions' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data '{
    "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": "R10",
                    "sniMode": "origin"
                }
            }
        ]
    }
}'

Below is the list of mandatory body parameters:

Body Parameters

Type

Description

Example

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

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

sniMode

string

This field sets the SNI mode for the outgoing connection to the upstream host. Use distribution if the certificate must match the CDN distribution domain. Alternatively, use origin to ensure the certificate matches the upstream hostname.

origin

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, Generate authentication token.

Content-Type

yes

string

Set this to application/json.

Response

201 Successful operation

Domain ownership verification: The read-only metadata.ownershipTxtFqdn and metadata.ownershipTxtValue fields provide the details for a TXT record you can publish in DNS to claim ownership of the distribution's domain. Create a TXT record using the name from ownershipTxtFqdn and the value from ownershipTxtValue. If another user currently claims the same domain, you must publish this record before the distribution can reach the AVAILABLE state. Keep the TXT record published permanently to retain ownership of the domain.

Last updated

Was this helpful?