---
title: "Authentifizierung"
description: "Authentifizierung der DPP-API, API-Schlüssel-Header, Fehlercodes und Sicherheitshinweise."
canonical_url: "https://digital-product-passport.cloud/docs/api-and-developer/authentication"
---

> Index of every page on this site: [llms.txt](https://digital-product-passport.cloud/llms.txt)

Die DPP-API verwendet **API-Schlüssel-Authentifizierung** über einen eigenen Anfrage-Header. Jeder API-Aufruf muss einen
gültigen API-Schlüssel im `x-api-key`-Header enthalten.

<tip>

**Endpunkt-Details, Beispielanfragen und „Try it out"** findest du in der interaktiven
[API-Referenz (Swagger)](https://my.digital-product-passport.cloud/api-docs#tag/overview). Diese Seite beschreibt das
Konzept und die Sicherheitsanforderungen, nicht die einzelnen Endpunkte.

</tip>

## Server

Alle API-Aufrufe gehen gegen:

```text
https://my.digital-product-passport.cloud
```

## Anfrage-Header

Jede Anfrage übergibt den API-Schlüssel im `x-api-key`-Header:

```text
x-api-key: <API-KEY>
Content-Type: application/json
```

Beispiel mit cURL:

```bash
curl -X GET \
  https://my.digital-product-passport.cloud/<endpoint> \
  -H "x-api-key: <API-KEY>" \
  -H "Content-Type: application/json"
```

API-Schlüssel werden über die Admin-Oberfläche unter
[Organization → API Keys](https://digital-product-passport.cloud/docs/produktdokumentation/organization/api-keys) erstellt und verwaltet.

## Typische Fehlercodes

<table>
<thead>
  <tr>
    <th>
      HTTP Status
    </th>
    
    <th>
      Bedeutung
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        401 Unauthorized
      </code>
    </td>
    
    <td>
      Kein <code>
        x-api-key
      </code>
      
       gesetzt, Schlüssel ungültig, abgelaufen oder gesperrt
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        403 Forbidden
      </code>
    </td>
    
    <td>
      API-Schlüssel hat nicht die erforderliche Rolle für den Endpunkt
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        429 Too Many Requests
      </code>
    </td>
    
    <td>
      Rate Limit überschritten
    </td>
  </tr>
</tbody>
</table>

Die konkreten Antwort-Schemata pro Endpunkt findest du in der
[Swagger-Referenz](https://my.digital-product-passport.cloud/api-docs#tag/overview).

## Sicherheitshinweise

- Übertrage API-Schlüssel **ausschließlich über HTTPS**.
- Verwende API-Schlüssel **nie im Frontend-Code** oder in öffentlichen Repositories; sie sind serverseitige Zugangsdaten.
- Speichere Schlüssel in **Umgebungsvariablen** oder einem **Secret Manager** (z.B. Azure Key Vault, AWS Secrets Manager,
HashiCorp Vault, 1Password Secrets).
- **Pro Integration ein eigener Schlüssel** – das erleichtert Rotation und Nachvollziehbarkeit.
- **Bei Verdacht auf Kompromittierung**: Schlüssel sofort über die Admin-Oberfläche deaktivieren und einen neuen ausstellen.

## Weiterführend

- [Organization → API Keys](https://digital-product-passport.cloud/docs/produktdokumentation/organization/api-keys) – Schlüssel anlegen, rotieren und löschen
- [API-Referenz (Swagger)](https://my.digital-product-passport.cloud/api-docs#tag/overview) – alle Endpunkte,
Parameter und Antwort-Schemata
