> ## 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.

# Crear un flujo de pasos ordenados

> Los pasos pueden ser wokus y herramientas NPS, CSAT o CES de tu empresa, en cualquier orden, cada una a lo sumo una vez (máximo 20). Un flujo no vive dentro de carpetas.



## OpenAPI

````yaml /openapi-v1.es.json post /v1/flows
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/flows:
    post:
      tags:
        - v1 - flows
      summary: Crear un flujo de pasos ordenados
      description: >-
        Los pasos pueden ser wokus y herramientas NPS, CSAT o CES de tu empresa,
        en cualquier orden, cada una a lo sumo una vez (máximo 20). Un flujo no
        vive dentro de carpetas.
      operationId: V1FlowsController_createFlow
      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/CreateFlowBodyDTO'
      responses:
        '201':
          description: Flujo creado
        '400':
          description: Error de validación o un paso no es una herramienta de tu empresa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDto'
      security:
        - bearer: []
components:
  schemas:
    CreateFlowBodyDTO:
      type: object
      properties:
        name:
          type: string
          maxLength: 140
          example: Post-purchase journey
        steps:
          minItems: 1
          maxItems: 20
          description: >-
            Pasos ordenados. Una herramienta puede aparecer una sola vez. Los
            flujos no viven dentro de carpetas.
          type: array
          items:
            $ref: '#/components/schemas/FlowStepBodyDTO'
      required:
        - name
        - steps
    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
    FlowStepBodyDTO:
      type: object
      properties:
        type:
          type: string
          enum:
            - woku
            - nps
            - csat
            - ces
          description: Tipo de herramienta que responde el cliente en este paso.
        toolId:
          type: string
          format: ObjectId
          description: >-
            Id de la herramienta (woku, herramienta NPS, CSAT o CES). En un paso
            nps, el id de tu empresa significa el NPS de la empresa.
      required:
        - type
        - toolId
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: Clave API secreta de la empresa.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.