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

# Crea una definición de herramienta CSAT



## OpenAPI

````yaml /openapi-v1.es.json post /v1/csat-tools
openapi: 3.0.0
info:
  title: Woku Client API v1
  description: >-
    API REST pública para la administración programática de programas
    Voice-of-Customer de woku: trackers, instrumentos VoC (NPS, woku, CES,
    CSAT), planes de acción, tickets de soporte, envío multicanal y captura de
    respuestas. Las solicitudes están delimitadas por empresa mediante la clave
    API. Nunca envíe un id de empresa.
  version: 1.0.0
  contact:
    name: Woku
    url: https://woku.app
    email: team@woku.app
servers:
  - url: https://clientapi.woku.app
    description: Producción
security: []
tags: []
paths:
  /v1/csat-tools:
    post:
      tags:
        - v1 - csat-tools
      summary: Crea una definición de herramienta CSAT
      operationId: V1CsatToolsController_createCsatTool
      parameters:
        - name: X-Woku-Idempotency-Key
          in: header
          description: >-
            Clave generada por el cliente para hacer que la creación sea segura
            para reintentar. Un reintento con la misma clave devuelve el
            resultado original en lugar de crear de nuevo.
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCsatToolBodyDTO'
      responses:
        '201':
          description: Herramienta CSAT creada
        '400':
          description: Error de validación
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDto'
        '403':
          description: Clave de API inválida o ausente
      security:
        - bearer: []
components:
  schemas:
    CreateCsatToolBodyDTO:
      type: object
      properties:
        name:
          type: string
          description: Nombre de la herramienta para identificación.
          example: Post-Purchase CSAT
          maxLength: 140
        question:
          type: string
          description: Pregunta pública de CSAT mostrada a los encuestados.
          example: How satisfied are you with your purchase?
          minLength: 3
          maxLength: 140
        subject:
          type: string
          description: Variable estática que completa 'how satisfied are you with [caso]?'.
          example: your purchase
          maxLength: 140
        availableLocales:
          description: >-
            Configuraciones regionales en las que la tool está disponible
            (subconjunto de es/en).
          example:
            - es
            - en
          type: array
          items:
            type: string
        defaultLocale:
          type: string
          description: >-
            Configuración regional predeterminada que se usa cuando no se
            solicita ninguna.
          example: es
          enum:
            - es
            - en
        localizedContent:
          type: array
          items:
            $ref: '#/components/schemas/CsatToolLocalizedContentBodyDTO'
      required:
        - name
        - question
    ValidationErrorResponseDto:
      type: object
      properties:
        statusCode:
          type: number
          description: Código de estado HTTP
          example: 400
        message:
          description: Arreglo de mensajes de error de validación
          example:
            - email must be a valid email
            - password must be at least 8 characters
          type: array
          items:
            type: string
        error:
          type: string
          description: Tipo de error
          example: Bad Request
      required:
        - statusCode
        - message
        - error
    CsatToolLocalizedContentBodyDTO:
      type: object
      properties:
        locale:
          type: string
          enum:
            - es
            - en
          example: en
        question:
          type: string
          description: Pregunta CSAT traducida para esta configuración regional.
          example: How satisfied are you with your purchase?
          minLength: 3
          maxLength: 140
        subject:
          type: string
          description: Asunto traducido para esta configuración regional.
          example: your purchase
          maxLength: 140
      required:
        - locale
        - question
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: Clave API secreta de la empresa.

````