# Neues Template erstellen

POST`https://api2.transloadit.com/templates`

###### Warnung

Für diesen Endpunkt muss Ihr [Auth Key](/de/docs/api/authentication.md) den Berechtigungsumfang `templates:write` haben.

## POST-Felder

* Die Übergabe von `signature` ist erforderlich. Weitere Informationen finden Sie unter [Signature Authentication](/de/docs/api/authentication.md).
* Die Übergabe von `params` ist erforderlich. Das Feld sollte ein JSON-codiertes Objekt mit den in der folgenden Tabelle aufgeführten Schlüsseln enthalten.

## Unterstützte Schlüssel im Feld `params`

* ### `auth` — **erforderlich**

`object`\
Enthält mindestens den Auth Key von Transloadit in der Eigenschaft `key`.\
Wenn Sie Signature Authentication aktivieren, müssen Sie außerdem in der Eigenschaft expires ein Ablaufdatum für die Anfrage festlegen:\
![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_GBjmaCTpH3rF6sBBsH4gkTL4K8CU)

```jsonc
{  
  "key": "23c96d084c744219a2ce156772ec3211",  
  "expires": "2009-08-28T01:02:03.000Z"  
}  
```

Wir empfehlen dringend, die Eigenschaft `nonce` einzuschließen – einen zufällig generierten, pro Anfrage eindeutigen Wert. Dieser verhindert eine doppelte Verarbeitung bei Retries, kann die Fehlerdiagnose erleichtern und vermeidet Angriffsvektoren wie die Wiederverwendung von Signaturschlüsseln:\
![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_GBjmaCTpH3rF6sBBsH4gkTL4K8CU)

```jsonc
{  
  // …  
  "nonce": "04ac6cb6-df43-41fb-a7fd-e5dd711a64e1"  
}  
```

Die Eigenschaft `referer` ist ein regulärer Ausdruck, der mit dem HTTP-Referrer dieses Uploads abgeglichen wird, beispielsweise `"example\.org"`. Geben Sie diesen Schlüssel an, um sicherzustellen, dass Uploads nur von Ihrer Domain stammen.\
Uploads ohne Referrer werden immer akzeptiert, da Referrer in einigen Browsern deaktiviert sind. Daher ist dies nur für wenige Anwendungsfälle nützlich. Einzelheiten zu regulären Ausdrücken finden Sie in der [RegExp-Dokumentation von Mozilla](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global%5FObjects/RegExp).\
Mit der Eigenschaft `max_size` können Sie eine maximale Größe in Bytes für einen Upload festlegen, beispielsweise `1048576` (1 MB). Geben Sie diese an, um zu verhindern, dass Benutzer übermäßig große Dateien hochladen. Die Dateigröße wird geprüft, sobald der Upload beginnt. Überschreitet sie die maximale Größe, wird der gesamte Upload-Vorgang abgebrochen und die Assembly schlägt fehl – selbst wenn sie Dateien enthält, die den Grenzwert `max_size` nicht überschreiten. Wenn Sie nur Dateien ignorieren möchten, die eine bestimmte Größe überschreiten, und alle anderen verarbeiten möchten, verwenden Sie bitte [🤖/file/filter](/docs/robots/file-filter.md).\
Mit der Eigenschaft `max_number_of_files` können Sie die maximale Anzahl von Dateien für einen Upload festlegen, beispielsweise `100`. Geben Sie diese an, um zu verhindern, dass Benutzer übermäßig viele Dateien hochladen – sowohl über Datei-Uploads als auch über Import-Robots.\
Diese Eigenschaften können entweder in der Assembly-Anfrage oder im Template festgelegt werden.

* ### `name` — **erforderlich**

`string`\
Name dieses Templates. Muss einschließlich der Grenzwerte zwischen 5 und 40 Zeichen lang und kleingeschrieben sein und darf nur Bindestriche sowie lateinische Buchstaben enthalten.

* ### `template` — **erforderlich**

`string`\
Alle [Assembly Instructions](/de/docs/topics/assembly-instructions.md) und [Template-Optionen](/de/docs/topics/templates.md#template-options) als JSON-codierter String.\
Beispielwert:\
![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_GBjmaCTpH3rF6sBBsH4gkTL4K8CU)

```json
"{\"allow_steps_override\": false, \"steps\": { ... }}"  
```

* ### `require_signature_auth`

`0 | 1`(Standard: `0`)\
Verwenden Sie `1`, um Anfragen ohne Signatur abzulehnen. Mit [Signature Authentication](/de/docs/api/authentication.md) können Sie sicherstellen, dass niemand sonst in Ihrem Namen Anfragen sendet.

## Antwort

Hier sehen Sie ein Beispiel für einen Antworttext:

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_GBjmaCTpH3rF6sBBsH4gkTL4K8CU)

```
{
  "ok": "TEMPLATE_CREATED",
  "id": "{TEMPLATE_ID}",
  "name": "{TEMPLATE_NAME}",
  "content": "{TEMPLATE_CONTENT}",
  "require_signature_auth": 0
}
```

Bei Erfolg gibt diese Anfrage eine JSON-Antwort mit dem Erfolgscode `TEMPLATE_CREATED` sowie ID, Name und Inhalt des Templates zurück. Bei einem Fehler enthält sie eine JSON-Antwort mit einem `error`-Feld, das einen Fehlerstatuscode enthält, und einem `reason`-Feld mit Details zur Fehlerursache.
