---
title: "Update an existing template by template identifier"
method: PUT
path: "/api/v1/entity-templates/{identifier}"
tags: ["Entities Templates Management"]
---

# Update an existing template by template identifier

`PUT /api/v1/entity-templates/{identifier}`

Update the details of an existing template identified by its unique string identifier

## Path parameters

- `identifier` string, required

## Request body

- EntityTemplateUpdateDtoIn — Input DTO for updating an entity template
  - `name` string, required — Unique Entity Template name
  - `description` string — Entity Template description
  - `properties_definitions` PropertyDefinitionDtoIn[] — List of property definitions for this template
    - `name` string, required — Property name
    - `description` string, required — Property description
    - `type` 'STRING' | 'NUMBER' | 'BOOLEAN', required — Property data type
    - `required` boolean — Whether this property is required
    - `rules` PropertyRulesDtoIn — Input DTO for creating or updating a property definition
      - `format` 'URL' | 'EMAIL' — Property format validation
      - `enum_values` string[] — Enumeration values for enum properties
      - `regex` string — Regular expression pattern for validation
      - `max_length` integer — Maximum length for string properties
      - `min_length` integer — Minimum length for string properties
      - `max_value` integer — Maximum value for numeric properties
      - `min_value` integer — Minimum value for numeric properties
  - `relations_definitions` RelationDefinitionDtoIn[] — List of relation definitions for this template
    - `name` string, required — Name of the relation
    - `target_template_identifier` string, required — Identifier of the target template
    - `required` boolean — Whether this relation is required
    - `to_many` boolean — Whether this relation can have multiple targets

## Response `200`

Template update successfully

## Other responses

- `404` — Template not found with the provided identifier

## Changes

- **2026-08-26** `e6f6d45eade3` — 1 warning, 1 info
  - removed the optional property `errorDescription` from the response with the `404` status
  - added the optional property `error_description` to the response with the `404` status
- **2026-06-23** `e29b86a4899f` — 6 info
  - the `name` request property's minLength was decreased from `1` to `0`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `403`
  - …2 more
- **2026-05-28** `c27fb7fa5cea` — 5 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `409`
  - …1 more
- **2026-05-22** `a4579fa249ab` — 3 warning, 69 info
  - removed the optional property `properties_definitions/items/id` from the response with the `200` status
  - removed the optional property `properties_definitions/items/rules/id` from the response with the `200` status
  - removed the optional property `relations_definitions/items/id` from the response with the `200` status
  - removed the `100 CONTINUE` enum value from the `error` response property for the response status `404`
  - …68 more
- **2026-04-27** `6022b545ce48` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/decathlon/apis/idp-core-api/changes/api/v1/entity-templates/:identifier/put.md)

---

[API](https://skmtc.dev/decathlon/apis/idp-core-api.md) · [All operations](https://skmtc.dev/decathlon/apis/idp-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/decathlon/idp-core-api/revisions/5081d87614ba/schema)
