---
title: "Copy template to another app"
method: POST
path: "/templates/{template_id}/copy_to_app?app_id={app_id}"
---

# Copy template to another app

`POST /templates/{template_id}/copy_to_app?app_id={app_id}`

## Request

- Base URL: `https://api.onesignal.com`
- URL: `https://api.onesignal.com/templates/{template_id}/copy_to_app?app_id={app_id}`
- Auth: none required

Create a duplicate of a OneSignal message template in another app within the same organization. The new template will retain the same content but have a unique template ID.

## Path parameters

- `template_id` string, required

## Query parameters

- `app_id` string, required

## Headers

- `Authorization` string, required

## Request body

- object
  - `target_app_id` string, required: Specifies the OneSignal app ID that the template will be copied to. Cannot be the same as the `app_id`.

## Response `200`

200

- object
  - `success` boolean: Whether the template was copied successfully.

## Other responses

- `400`: 400
- `404`: 404
- `429`: Rate limit exceeded. Wait the number of seconds in the `Retry-After` header before retrying.
- `503`: Service temporarily unavailable. Retry after a short backoff. The body may be empty or non-JSON in some failure modes.

---

[API](https://skmtc.dev/onesignal/apis/api-onesignal-com.md) - [All operations](https://skmtc.dev/onesignal/apis/api-onesignal-com/llms.txt) - [OpenAPI document](https://skmtc.dev/onesignal/apis/api-onesignal-com/revisions/dabc88f615f5?raw)
