# Retrieve All Distributions

{% hint style="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 [<mark style="color:blue;">Set User Privileges</mark>](https://docs.ionos.com/sections-test/guides/network-services/cdn/dcd-how-tos/set-user-privileges-cdn-dcd).
{% endhint %}

To retrieve all the CDN distributions under a contract, perform a `GET` request.

## Endpoint

Use the following endpoint to retrieve all CDN distributions for a contract: `https://cdn.de-fra.ionos.com/distributions`.

## Request

```bash
curl --location \  
--request GET  'https://cdn.de-fra.ionos.com/distributions?offset=0&limit=100' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
```

{% tabs %}
{% tab title="Request Header Parameters" %}
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, [<mark style="color:blue;">Generate authentication token</mark>](https://docs.ionos.com/sections-test/guides/set-up-ionos-cloud/management/identity-access-management/token-manager#generate-authentication-token). |
| `Content-Type`    |    yes   | string | Set this to `application/json`.                                                                                                                                                                                                                                                                                   |
| {% endtab %}      |          |        |                                                                                                                                                                                                                                                                                                                   |
| {% endtabs %}     |          |        |                                                                                                                                                                                                                                                                                                                   |

## Response

**200 Successful operation**

```bash
{
  "id": "24c578a9-361f-54d4-a326-a3f3070d5a03",
  "type": "collection",
  "href": "/distributions",
  "items": [
    {
      "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"
            }
          }
        ]
      }
    }
  ],
  "offset": 0,
  "limit": 42,
  "_links": {
    "prev": "http://PREVIOUS-PAGE-URI",
    "self": "http://THIS-PAGE-URI",
    "next": "http://NEXT-PAGE-URI"
  }
}
```

{% hint style="success" %}
**Result:** All the existing CDN distributions and their details are successfully obtained for your contract.
{% endhint %}
