# Update Template

Update a custom template. System templates cannot be modified.
Liquid syntax is re-validated on update. Increments the template version.

Endpoint: PUT /templates/{templateId}
Version: 1.0.0
Security: OAuth2

## Security:

  - `OAuth2` (unknown)
    oauth2

## Path parameters:

  - `templateId` (string, required)
    Template identifier

## Request fields (application/json):

  - `entityId` (integer, required)
    Merchant/tenant identifier for tenant isolation

  - `name` (string)

  - `content` (string)
    Liquid template markup

  - `status` (string)
    Enum: "DRAFT", "ACTIVE", "ARCHIVED"

  - `description` (string)

## Response 200:

  - `200` (unknown)
    Template updated successfully

## Response 200 fields (application/json):

  - `responseCode` (string, required)
    Example: A100

  - `responseMessage` (string, required)
    Example: Approved

  - `responseDetails` (null, required)

  - `object` (object, required)

  - `object.id` (string, required)

  - `object.entityId` (integer, required)
    Merchant/tenant identifier for tenant isolation

  - `object.name` (string, required)

  - `object.type` (string, required)
    RECEIPT - Template for the rendered receipt document (HTML).
RECEIPT_EMAIL - Template for the receipt notification email body.
    Enum: "RECEIPT", "RECEIPT_EMAIL"

  - `object.engineType` (string, required)
    Template engine used for rendering
    Enum: "LIQUID"

  - `object.content` (string, required)
    Full Liquid template markup

  - `object.version` (integer, required)
    Auto-incremented on each update

  - `object.status` (string, required)
    Enum: "DRAFT", "ACTIVE", "ARCHIVED"

  - `object.isSystem` (boolean, required)
    True for built-in system templates, false for merchant-uploaded

  - `object.description` (string)

  - `object.createdAt` (string, required)

  - `object.updatedAt` (string, required)

  - `object.createdBy` (string)
    User or system identifier that created the template

