diff --git a/MIGRATION-GUIDE.md b/MIGRATION-GUIDE.md
index 12127a0cc..341fe0782 100644
--- a/MIGRATION-GUIDE.md
+++ b/MIGRATION-GUIDE.md
@@ -10,6 +10,7 @@ This guide lists all removed classes and interfaces from V1 and how to migrate t
- Removed support of `SINCH_CHAT` channel.
- [channelspecific.whatsapp.payment.OrderDetailsPayment](https://www.javadoc.io/doc/com.sinch.sdk/sinch-sdk-java/latest/com/sinch/sdk/domains/conversation/models/v1/messages/types/channelspecific/whatsapp/payment/OrderDetailsPayment.html) is now processing `OderDetailsSettings` interface for payment settings to support `boleto` and `payment_link` payment methods.
+- Conversation Template V1 is deprecated. Use Conversation Template V2 instead.
#### Replacement models
| Old class | New class |
diff --git a/client/src/main/com/sinch/sdk/domains/conversation/api/templates/TemplatesService.java b/client/src/main/com/sinch/sdk/domains/conversation/api/templates/TemplatesService.java
index 9f336ff54..c4bf1f169 100644
--- a/client/src/main/com/sinch/sdk/domains/conversation/api/templates/TemplatesService.java
+++ b/client/src/main/com/sinch/sdk/domains/conversation/api/templates/TemplatesService.java
@@ -18,6 +18,7 @@ public interface TemplatesService {
*
* @return Templates V1 service
* @since 1.3
+ * @deprecated Use {@link #v2()} instead.
*/
TemplatesServiceV1 v1();
diff --git a/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/TemplatesServiceV1.java b/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/TemplatesServiceV1.java
index 359701a24..ac10545dd 100644
--- a/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/TemplatesServiceV1.java
+++ b/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/TemplatesServiceV1.java
@@ -16,6 +16,8 @@
* href="https://developers.sinch.com/docs/conversation/api-reference/template/tag/Templates-V1">online
* documentation
* @since 1.3
+ * @deprecated Use {@link com.sinch.sdk.domains.conversation.api.templates.v2.TemplatesServiceV2}
+ * instead.
*/
public interface TemplatesServiceV1 {
diff --git a/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/package-info.java b/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/package-info.java
index da8264ff2..d5f6d1136 100644
--- a/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/package-info.java
+++ b/client/src/main/com/sinch/sdk/domains/conversation/api/templates/v1/package-info.java
@@ -4,5 +4,6 @@
* @see Conversation
* Templates V1
* @since 1.3
+ * @deprecated Use {@link com.sinch.sdk.domains.conversation.api.templates.v2} instead.
*/
package com.sinch.sdk.domains.conversation.api.templates.v1;
diff --git a/client/src/main/com/sinch/sdk/domains/conversation/templates/models/v1/package-info.java b/client/src/main/com/sinch/sdk/domains/conversation/templates/models/v1/package-info.java
index 1b8581aae..a85b66cc3 100644
--- a/client/src/main/com/sinch/sdk/domains/conversation/templates/models/v1/package-info.java
+++ b/client/src/main/com/sinch/sdk/domains/conversation/templates/models/v1/package-info.java
@@ -5,5 +5,6 @@
* href="https://developers.sinch.com/docs/conversation/api-reference/template/tag/Templates-V1">Templates
* V1
* @since 1.3
+ * @deprecated Use {@link com.sinch.sdk.domains.conversation.templates.models.v2} instead.
*/
package com.sinch.sdk.domains.conversation.templates.models.v1;
diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/templates/api/internal/V1Api.java b/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/templates/api/internal/V1Api.java
index cf6d7c1d8..fe8cfaf0d 100644
--- a/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/templates/api/internal/V1Api.java
+++ b/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/templates/api/internal/V1Api.java
@@ -59,7 +59,9 @@ public V1Api(
* @param templateV1 Required. The template to create. (required)
* @return TemplateV1
* @throws ApiException if fails to make API call
+ * @deprecated
*/
+ @Deprecated
public TemplateV1 templatesCreateTemplate(String projectId, TemplateV1 templateV1)
throws ApiException {
@@ -137,7 +139,9 @@ private HttpRequest templatesCreateTemplateRequestBuilder(String projectId, Temp
* @param templateId Required. The ID of the template to fetch. (required)
* @return Object
* @throws ApiException if fails to make API call
+ * @deprecated
*/
+ @Deprecated
public Object templatesDeleteTemplate(String projectId, String templateId) throws ApiException {
LOGGER.finest(
@@ -217,7 +221,9 @@ private HttpRequest templatesDeleteTemplateRequestBuilder(String projectId, Stri
* @param templateId Required. The ID of the template to fetch. (required)
* @return TemplateV1
* @throws ApiException if fails to make API call
+ * @deprecated
*/
+ @Deprecated
public TemplateV1 templatesGetTemplate(String projectId, String templateId) throws ApiException {
LOGGER.finest(
@@ -296,7 +302,9 @@ private HttpRequest templatesGetTemplateRequestBuilder(String projectId, String
* @param projectId Required. The project ID. (required)
* @return V1ListTemplatesResponseInternal
* @throws ApiException if fails to make API call
+ * @deprecated
*/
+ @Deprecated
public V1ListTemplatesResponseInternal templatesListTemplates(String projectId)
throws ApiException {
@@ -365,7 +373,9 @@ private HttpRequest templatesListTemplatesRequestBuilder(String projectId) throw
* @param updateMask The set of field mask paths. (optional
* @return TemplateV1
* @throws ApiException if fails to make API call
+ * @deprecated
*/
+ @Deprecated
public TemplateV1 templatesUpdateTemplate(
String projectId, String templateId, TemplateV1 templateV1, List updateMask)
throws ApiException {