---
title: "Install a template from the public template library"
type: reference
method: POST
path: /rest-api/template-catalog/install.do
tag: "Templates"
---

# Install a template from the public template library

`POST https://YOUR-NETWORK-DOMAIN/rest-api/template-catalog/install.do`

Adds a template of the public template library to this network as your own template (shared with you as its owner), exactly as importing its XML in the console would. A template the network already has is not installed twice: the answer names it instead. With update=true a newer library build replaces an installed template in place - every banner using it changes with it. Requires the Templates create permission and the Templates view permission on all templates (the library reports what the whole network holds). An update also needs update permission on the installed template.

## Form params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `entryId` | string | yes | `catfish/catfish/mobile-catfish` | The library template's id, as the library list gives it |
| `update` | boolean | no | `false` | Replace an installed template with the library's newer build. Every banner using the template changes with it. |

## Responses

- `200` — Installed: success true, templateId, its properties
- `400` — Not installed because the network already has it (or no newer build): success false, status, installedTemplateId, message
- `401` — Authentication error
- `403` — No Templates create permission, Templates view is not granted on all templates, or (update) no update permission on the installed template
- `404` — No such template in the library
- `503` — The template library is not set up on this network or could not be read

## Example request

```bash
curl --request POST \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/template-catalog/install.do' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'entryId=catfish/catfish/mobile-catfish' \
  --data-urlencode 'update=false'
```

Source: https://epom.com/ad-server/docs/api/templates/post-template-catalog-install