> ## Documentation Index
> Fetch the complete documentation index at: https://developer.omni.z-api.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Actualizar plantilla

> Actualiza una plantilla existente y reenvíala a aprobación

## Conceptos

Actualiza una plantilla existente y la reenvía a la aprobación de Meta. El body es el mismo que se utiliza al crear la plantilla.

<Warning>
  Al actualizar una plantilla aprobada, esta vuelve al estado `PENDING` hasta que Meta la revise de nuevo.
</Warning>

<Note>
  El `templateId` se obtiene a través del endpoint [Listar plantillas](/es/templates/list-templates).
</Note>


## OpenAPI

````yaml es/templates/openapi.json PUT /whatsapp/businesses/{wabaId}/templates/{templateId}
openapi: 3.1.0
info:
  title: Omni Z-API - API de plantillas
  description: API para gestionar las plantillas de mensaje de WhatsApp Business
  version: 1.0.0
servers:
  - url: https://api.omni.z-api.io
security:
  - bearerAuth: []
paths:
  /whatsapp/businesses/{wabaId}/templates/{templateId}:
    put:
      tags:
        - Plantillas
      summary: Editar plantilla
      description: Edita una plantilla existente y la reenvía a la aprobación de Meta.
      operationId: updateTemplate
      parameters:
        - name: wabaId
          in: path
          required: true
          description: ID de la WABA (obtenido con Listar WABAs)
          schema:
            type: string
            example: '428083093730937'
        - name: templateId
          in: path
          required: true
          description: ID de la plantilla (obtenido con Listar plantillas)
          schema:
            type: string
            example: '1900296177408890'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTemplateRequest'
            example:
              name: actualizacion_pedido_v1
              category: UTILITY
              language: es_ES
              components:
                - type: BODY
                  text: Hola {{1}}, tu pedido {{2}} se ha actualizado a {{3}}.
                  example:
                    body_text:
                      - - Ana
                        - PED-1024
                        - em transporte
      responses:
        '200':
          description: Plantilla editada correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                success: true
        '400':
          $ref: '#/components/responses/MetaError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  schemas:
    CreateTemplateRequest:
      type: object
      required:
        - name
        - category
        - language
        - components
      properties:
        name:
          type: string
          description: Nombre de la plantilla (snake_case, sin espacios)
        category:
          type: string
          description: Categoría de la plantilla
          enum:
            - UTILITY
            - MARKETING
            - AUTHENTICATION
        language:
          type: string
          description: 'Idioma de la plantilla (p. ej.: es_ES, en_US)'
        components:
          type: array
          description: Componentes de la plantilla (HEADER, BODY, FOOTER, BUTTONS)
          items:
            type: object
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indica si la operación se realizó correctamente
    MetaError:
      type: object
      properties:
        error:
          type: string
          description: Descripción general del error
        value:
          type: object
          properties:
            errors:
              type: array
              items:
                type: object
                properties:
                  description:
                    type: string
                  name:
                    type: string
                    description: 'Tipo de error (p. ej.: META_WHATSAPP_ERROR)'
                  message:
                    type: string
                    description: Mensaje de error de Meta
                  code:
                    type: string
                    description: Código de error de Meta
    Error:
      type: object
      properties:
        error:
          type: integer
          description: Código del error
        message:
          type: string
          description: Descripción del error
    UnprocessableEntity:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              name:
                type: string
              subCode:
                type: string
              message:
                type: string
              description:
                type: string
  responses:
    MetaError:
      description: Error devuelto por Meta al procesar la petición.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MetaError'
          example:
            error: Newport request failed
            value:
              errors:
                - description: ''
                  name: META_WHATSAPP_ERROR
                  message: >-
                    Tu mensaje no se puede enviar porque incluye contenido que
                    otras personas en Facebook denunciaron como abusivo.
                  code: '368'
    Unauthorized:
      description: Token no válido o ausente.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 401
            message: Unauthorized
    UnprocessableEntity:
      description: La petición no se pudo procesar debido a un error de validación.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnprocessableEntity'
          example:
            error:
              errors:
                - code: '100'
                  name: META_WHATSAPP_ERROR
                  subCode: '2388024'
                  message: Invalid parameter
                  description: >-
                    There is already Portuguese (BR) content for this template.
                    You can create a new template and try again.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Secret Key generada en el panel de Seguridad de Omni Z-API

````