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

# Create DM Template

> Adds a structured DM Template to a Voice. All three fields are required. The LLM chooses when to use it and adapts it; callers should not pre-resolve variables. Up to 40 Templates per Voice. DM Templates feed direct-message generation only — never comments. The change applies to future generations only: an existing DM draft keeps its text until it is refreshed (`dm-conversations_improve-reply`, or `dm-conversations_prepare-reply` for a new one).



## OpenAPI

````yaml https://api.goextrovert.com/client/v2/docs-json post /client/v2/voice-dm-templates
openapi: 3.0.0
info:
  title: Extrovert Client API
  description: >-
    Public API for Extrovert platform integration. Use your API key for
    authentication.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.goextrovert.com/
    description: API Server
security: []
tags: []
paths:
  /client/v2/voice-dm-templates:
    post:
      tags:
        - Voice DM Templates
      summary: Create DM Template
      description: >-
        Adds a structured DM Template to a Voice. All three fields are required.
        The LLM chooses when to use it and adapts it; callers should not
        pre-resolve variables. Up to 40 Templates per Voice. DM Templates feed
        direct-message generation only — never comments. The change applies to
        future generations only: an existing DM draft keeps its text until it is
        refreshed (`dm-conversations_improve-reply`, or
        `dm-conversations_prepare-reply` for a new one).
      operationId: VoiceDmTemplateClientApiController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRequestDto8'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponseDto8'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientApiErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    CreateRequestDto8:
      type: object
      properties:
        voiceId:
          type: string
          format: uuid
          description: ID of the Voice this DM Template will be attached to.
        text:
          type: string
          minLength: 1
          maxLength: 750
          description: Example DM text. Up to 750 characters.
        whenToUse:
          type: string
          minLength: 1
          maxLength: 250
          description: When this template is useful. Up to 250 characters.
        adaptation:
          type: string
          minLength: 1
          maxLength: 250
          description: How the AI should adapt it. Up to 250 characters.
      required:
        - voiceId
        - text
        - whenToUse
        - adaptation
    CreateResponseDto8:
      type: object
      properties:
        status:
          type: string
          description: Response status
          enum:
            - success
        data:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Created entity ID
              example: 8d256aa6-9b12-49a7-93ee-bf41634b5b60
        message:
          type: string
          description: Success message
          example: Operation completed successfully
      required:
        - status
        - data
        - message
    ClientApiErrorResponseDto:
      type: object
      properties:
        status:
          type: string
          description: Response status
          example: error
          enum:
            - error
        data:
          type: object
          description: Response data
          example: null
          nullable: true
        message:
          type: string
          description: Error message
          example: An error occurred while processing the request
      required:
        - status
        - data
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: X-API-Key
      description: API Key for authentication

````