> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opptima.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener plantillas de email

> Obtiene las plantillas de correo electrónico creadas en el editor de plantillas.

- Si envías `template_id`, retorna solo esa plantilla
- Si no envías `template_id`, retorna todas las plantillas de tu cuenta




## OpenAPI

````yaml /api-reference/openapi.yaml post /v1/templates
openapi: 3.1.0
info:
  title: Opptima API
  version: 1.0.0
  description: >
    API para acceder a las funcionalidades de Opptima programáticamente.


    ## Autenticación


    Todas las solicitudes requieren un API Key que debes incluir en el header
    `Authorization` como Bearer token.


    Para obtener tu API Key, ve a
    [Settings](https://app.opptima.com/es/settings).


    ## Rate Limiting


    La API implementa límites de tasa para proteger el servicio:


    - **Límite por defecto**: 2 peticiones por segundo (o 2 segundos por
    request)

    - Este límite es **ampliable bajo requerimiento**


    Si necesitas un límite mayor para tu caso de uso, contacta a soporte.
  contact:
    name: Opptima Support
    email: support@opptima.com
  license:
    name: Proprietary
servers:
  - url: https://api.ckpnd.com:5001
    description: Servidor principal (HTTPS)
security:
  - bearerAuth: []
tags:
  - name: Email
    description: Envío de correos electrónicos transaccionales y con plantillas
    x-page-icon: envelope
    x-page-description: Envía emails con HTML, plantillas, adjuntos y certificación
  - name: Templates
    description: Gestión de plantillas de correo electrónico
    x-page-icon: file-text
    x-page-description: Obtiene plantillas de email disponibles en tu cuenta
  - name: SMS
    description: Envío de mensajes SMS
    x-page-icon: mobile
    x-page-description: Envía mensajes SMS a múltiples destinatarios
  - name: WhatsApp
    description: Envío de mensajes de WhatsApp
    x-page-icon: whatsapp
    x-page-description: Envía mensajes de WhatsApp usando plantillas o mensajes de sesión
  - name: Email Marketing
    description: >
      Eventos webhook generados por campañas de Email Marketing.

      Estos eventos son enviados como POST a la URL de webhook configurada en tu
      cuenta.
    x-page-icon: bell
    x-page-description: >-
      Eventos de entrega, rebote, apertura, click, desuscripción y queja para
      Email Marketing
  - name: SMTP
    description: >
      Eventos webhook generados por mensajes transaccionales SMTP/API.

      Estos eventos son enviados como POST a la URL de webhook configurada en tu
      cuenta.

      Algunos campos no están disponibles para emails certificados.
    x-page-icon: bell
    x-page-description: >-
      Eventos de entrega, rebote, apertura, click, entrega certificada y
      desuscripción para SMTP/API
paths:
  /v1/templates:
    post:
      tags:
        - Templates
      summary: Obtener plantillas de email
      description: >
        Obtiene las plantillas de correo electrónico creadas en el editor de
        plantillas.


        - Si envías `template_id`, retorna solo esa plantilla

        - Si no envías `template_id`, retorna todas las plantillas de tu cuenta
      operationId: getTemplates
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                template_id:
                  type: string
                  description: >-
                    ID de una plantilla específica. Si no se envía, se retornan
                    todas las plantillas del usuario
                  example: 3ipuupaeddshx
            examples:
              withTemplateId:
                summary: Obtener una plantilla específica
                value:
                  template_id: 3ipuupaeddshx
              allTemplates:
                summary: Obtener todas las plantillas
                value: {}
      responses:
        '200':
          description: Lista de plantillas encontradas
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Template'
              examples:
                success:
                  value:
                    - template_id: 4cc1z0qi0azp
                      name: Test Email Template
                      html: |-
                        <!doctype html>
                        <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                          <title>My new email template</title></head><body></body>
                        </html>
                      creationDateTime: '2019-05-07T21:44:07.000Z'
        '400':
          description: Error al consultar plantillas
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                notFound:
                  summary: Plantilla no encontrada
                  value:
                    message: Could not find any template with the provided parameters
                queryError:
                  summary: Error durante la consulta
                  value:
                    message: An error has ocurred during templates
                generalError:
                  summary: Error general
                  value:
                    message: An error has ocurred err:35
        '401':
          description: API key no autorizada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                notAuthorized:
                  value:
                    message: API key not authorized.
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/MiddlewareError'
      security:
        - bearerAuth: []
components:
  schemas:
    Template:
      type: object
      description: Plantilla de correo electrónico
      properties:
        template_id:
          type: string
          description: ID único de la plantilla
          example: 4cc1z0qi0azp
        name:
          type: string
          description: Nombre de la plantilla
          example: Test Email Template
        html:
          type: string
          description: Código HTML de la plantilla
        creationDateTime:
          type: string
          description: Fecha y hora de creación de la plantilla
          example: '2019-05-07T21:44:07.000Z'
    Error:
      type: object
      description: Respuesta de error estándar de la aplicación
      properties:
        message:
          type: string
          description: Descripción del error
      required:
        - message
    AuthError:
      type: object
      description: Respuesta de error de autenticación del middleware
      properties:
        error:
          type: string
          description: Descripción del error de autenticación
      required:
        - error
    RateLimitError:
      type: object
      description: Respuesta cuando se excede el límite de peticiones por segundo
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          example: Ha excedido el límite de peticiones permitidas por segundo.
        error:
          type: string
          example: RATE_LIMIT_EXCEEDED
      required:
        - success
        - message
        - error
  responses:
    Forbidden:
      description: |
        Error de autenticación. La API Key no fue enviada, es inválida, o la IP
        de origen no está permitida en la lista blanca configurada.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
          examples:
            noApiKey:
              summary: API Key no enviada en el header Authorization
              value:
                error: No API Key sent
            invalidApiKey:
              summary: API Key inválida o no encontrada
              value:
                error: 'Invalid API Key '
            ipNotAllowed:
              summary: IP de origen no permitida
              value:
                error: 'IP Not Allowed '
    RateLimited:
      description: >
        Se ha excedido el límite de peticiones por segundo.

        El límite por defecto es de 2 peticiones por segundo y es ampliable bajo
        requerimiento.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitError'
          examples:
            rateLimited:
              value:
                success: false
                message: Ha excedido el límite de peticiones permitidas por segundo.
                error: RATE_LIMIT_EXCEEDED
    MiddlewareError:
      description: Error interno del servidor durante la validación de autenticación
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
          examples:
            middlewareError:
              value:
                error: >-
                  An error has ocurred, please try again. Contact us if the
                  issue persists
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Usa tu API Key como Bearer token en el header Authorization.


        Ejemplo: `Authorization: Bearer YOUR_API_KEY`


        Obtén tu API Key en la [página de
        Settings](https://app.opptima.com/es/settings).

````